質問: '__main__': main() ``` しかしながら、そのまま実行しても動きません。 とりあえず、`images`というフォルダを同じ階層に作り、その中に適当に画像をほりこんで実行すると、 イメージのロードはできたようなのですが、 `ValueError: setting an array element with a sequence.` が出ます。 サンプルにコメントがなく、そもそもに機械学習が全くわからないのでイマイチ流れが見えておりません。 このエラーもどうも複数の場合に発生するというのも出ていますし... 申し訳ないのですが、 1. このプログラムの処理の流れ 2. とりあえず機械学習を勉強するための、簡単なサンプルが載っているサイト を教えていただけないでしょうか。 よろしくお願いいたします。
回答: > > プログラムの処理の流れ > > > 元記事での全体の流れは「**1.画像収集 → 2.特徴量抽出 → 3.識別分類**」です。 1.畑から野菜を採り、2.洗って皮をむき、下ごしらえし、3.本調理する、みたいな感じです。 このうち、質問文のサンプルコードは、2、3の処理になります。 もう少し詳しく見ると、たとえば2では「PCA」というのが、 「**主成分分析**」による「**次元数削減**」を行う部分です。 主成分分析というのは、確率・統計で使われている手法ですが、 これをコンピュータで解くには線形代数 (行列によるベクトルの処理)をよく使います。 これは元記事でもほとんど説明されてませんので、 数学の知識がないと理解するのが苦しいと思います。 予備知識なしに初見で「PCA」だけ見て、 「ああ、次元数削減したいから、固有ベクトルの解析手法に持ち込むんだな」 などと意味が分かるわけがありません。 「**確率・統計、線形代数、微分・積分**」(あとΣやΠの数列)は、 機械学習で非常によく出てくる分野なので、習得したいところです。 もちろん、実践ではライブラリを叩くだけになるかもしれませんが、 それでもやはり概要は理解していた方がスムーズだと思います。 少なくとも、**処理の名前が分かる程度の予備知識**がないと、 ちょっとコードを変えただけでつまずきそうです。 > > 機械学習を勉強するための、簡単なサンプルが載っているサイト > > > 機械学習初心者が、素早く学べるコンテンツとライブラリ20選(Python編) - paiza開発日誌 機械学習の Python との出会い — 機械学習の Python との出会い 学習の入口としては上記がオススメですが、 「サンプル自体がネットにあまりなく」とあるように、 とくにていねいな説明付きの日本語記事をWebで見つけるのは大変です。 ですから、こういう専門分野は**書籍**の方が学習効率が良いです。 Pythonと機械学習というテーマでは、すでに本が出ていますし。 機械学習は本によって、数式ばかりで難しいこともありますが、 その辺はネットの書評など調べて、適したものを探してください。 それから、Pythonで使われている機械学習の**ライブラリ**を 順次攻略していくことも、理解に貢献すると思います。 NumPy scikit-learn: machine learning in Python scikit-image: Image processing in Python Python Data Analysis Library — pandas Python Imaging Library (PIL)