‫なるほど｡
‫さて､ これまで配列を操作する方法をいくつか見てきましたが､ そのほとんどは算術や集計の方法でした｡
‫だから､ アンパイヤの昇給の計算をするようなものだ｡
‫さて､ numpy配列の形状を変更する必要があった場合はどうでしょうか｡
‫さて､ なぜアンパイヤの形を変える必要があるのでしょうか､ レイさん｡
‫機械学習の多くは､ 機械学習アルゴリズムに入力を並べ､ 正しい出力を得られるようにすることだと覚えておいてください｡
‫そして､ そのような入力の並べ方のひとつに､ データ､ 数値のリスト､ 数値の配列が正しい形をしているかどうかを確認することがあります｡
‫では､ NumPyでそれを行う方法を見てみましょう｡
‫だから､ リシェイプしたり､ トランスポーズしたりするんです｡
‫これがこのセクションです｡
‫いい感じのヘディングですね｡
‫では､ 見てみましょう｡
‫配列です｡
‫美しい｡
‫どんな形なのか､ 考えてみよう｡
‫2人ずつ3人で｡
‫ああ､ それなら納得だ｡
‫さて､ 以前のビデオで､ 2と3を掛け合わせることに挑戦したのを覚えていますか？
‫もう一度わかるように､ 3を可視化しよう｡
‫A3です｡
‫これでよしとしよう｡
‫形状を確認しよう｡
‫3つのドットの形｡
‫なるほど｡
‫これを掛け合わせるとどうなるんだろう？
‫あ､ オペランドは図形と一緒に放送することはできませんでした｡
‫2､ 3､ あるいは2､ 3､ 3｡
‫まあね｡
‫numpyの配列の美しいところは､ 形を変えたり､ 入れ替えたりすることができることです｡
‫まず､ リシェイプについて見てみましょう｡
‫では､ リシェイプは何をするのでしょうか？
‫Reshapeは､ 任意の配列に対して呼び出すことができるメソッドです｡
‫だから､ ここに入力すれば｡
‫リシェイプシフトタブ
‫docstringをリシェイプする｡
‫同じデータを新しい形状で含む配列を返す｡
‫美しい｡
‫これでよしとしよう｡
‫そこでさらに情報を得る｡
‫しかし､ それが何を要求しているのかを見てみましょう｡
‫形状です｡
‫ふむ｡
‫そこで､ 放送のルールの1つ､ 放送についてもう1度調べてみますと｡
‫放送のルールの1つ｡
‫ここにあります｡
‫一般的なブロードキャストルール 2つの配列に対して操作を行う場合､ numpyはそれらの形状を要素ごとに比較します｡
‫後方の寸法から始まり､ 前方に向かうように動作します｡
‫2つの次元が等しいか､ どちらかが1であるとき､ 互換性がある｡
‫つまり､ これはどういうことかというと､ 2つの配列の形が等しければ､ 掛け算ができる､ ということです｡
‫でも､ 対等でないなら､ どちらかがそうでなければならない｡
‫だから､ ここではそうすることにします｡
‫Aを配列に整形するのです｡
‫その形から3つへ｡
‫ここは相容れない｡
‫そして､ この次元の一つを変えていくのです｡
‫実は次元を追加する予定なんです｡
‫だから､ リシェイプ2､ 3､ 1｡
‫どうなるか見てみましょう｡
‫ああ｡
‫なるほど､ それで我々のやり方が少しシャッフルされたわけですね｡
‫ここで形状をプリントしてみましょう｡
‫つまり､ 私たちが過去に行ったリシェイプメソッドの方法を､ 別の形に変えてみたということです｡
‫つまり､ ここにもう1つの次元が加わり､ その形状は2､ 3､ 1になりました｡
‫3つの形状を確認します｡
‫なるほど｡
‫2､ 3､ 3
‫そこで､ 放送のルールに照らし合わせてみると｡
‫寸法は同じですか？
‫いいえ｡
‫1人なのか？
‫はい｡
‫では､ こうしてみましょう｡
‫A two will make a variable A to reshape equals A to reshape.
‫2､ 3､ 1
‫美しい｡
‫というわけで､ これを見てもらうことにします｡
‫Aをリシェイプする｡
‫当社のリシェイプA2､ A2リシェイプタイムズA3があります｡
‫これでよしとしよう｡
‫美しい｡
‫それがリシェイプのメリットなんですね｡
‫さて､ ここで紹介したのはほんの一例に過ぎません｡
‫以前は互換性がありませんでしたが､ 再形成したため､ numpyの放送ルールに収まるようにaを再形成しています｡
‫そして､ この2つの配列にまたがって乗算関数を使用することができます｡
‫さて､ このコンセプトがそもそもなんだかおかしいということであれば､ それはそれで全く問題ないのです｡
‫そして､ リシェイプの正しい使い方を理解するためには､ かなりの練習が必要でしょう｡
‫しかし､ ここで重要なのは､ アンパイヤだからといって､ レイがある形､ たとえばこんな風に始まるからといって､
‫その形のままでなければならないということではありません｡
‫つまり､ この形を変えたA2には､ 元のA2と同じ情報が残っているのです｡
‫ただ､ 形が違うだけなんです｡
‫このように､ 機械学習の問題では､ パターンを見つけようとするデータが同じ形状であることを確認することが問題になることが多いのです｡
‫だから､ 機械学習のアルゴリズムは､ この放送操作のように､ できるだけ早くその上を走ることができる｡
‫そして､ もしそれらが同じ形でなければ､ しばしばこのようなエラーが返されます｡ これは､ パターンを見つけようとしているデータが同じ形ではないということです｡
‫そこで､ リシェイプなどを使って同じ形状にし､ 互いに互換性を持たせる方法を考えなければなりません｡
‫さて､ もうひとつ､ トランスポーズです｡
‫さて､ トランスポーズとは何でしょうか？
‫まずは見てみましょう｡
‫何が起こっているのかわかるように､ ここに少しコメントを入れておきましょう｡
‫AからTに移調して､ 何が変わったかを確認することができます｡
‫AからZまでの2つのバックを用意しよう｡
‫変更されたものを転記する｡
‫シェイプアップしよう
‫3つです｡
‫2つです｡
‫なるほど｡
‫さて､ ここに行くと｡
‫8を形にする｡
‫では､ トランスポーズは何をするのか｡
‫軸が切り替わります｡
‫つまり､ 今までの2シェイプは2スリーだったのだ｡
‫しかし､ トランスポーズと呼んで､ 今Tが4トランスポーズだとすると､ 軸が入れ替わることになります｡
‫そこが見えてくるのです｡
‫では､ 1～3まで｡ 3はこの列の下､ 4は5､ 6です｡ 5はこの欄です｡
‫つまり､ 基本的には行と列を入れ替えただけなのです｡
‫これをより大きなアレイでも行えるようになりました｡
‫a3a3点の形状を表示しよう､ 2､ 3､ 3｡
‫そこで､ a3tを呼び出すと｡
‫この軸を入れ替えるのです｡
‫ということは､ もし､ 3点の形があるとしたら｡
‫だから､ 今は基本的に裏返しにしたんです｡
‫今､ この次元は､ そうも端にあり､ 3と3が前に入れ替わっています｡
‫ここで､ トランスポーズとリシェイプの重要な違いは､ トランスポーズは軸を反転させるだけ､ リシェイプは軸を反転させるだけという点です｡
‫自分だけのオリジナルシェイプを作ることができます｡
‫そこで､ 例えば､ Aを我々の放送ルールに適合するように形を変えてみました｡
‫それでは､ いくつかのアレイの形を変える練習をしてみてください｡