本以外スマートフォン用の表示で見る本以外2020-01-05python機械学習のコード解析AI>目的AIを作るということに興味があります。Pythonという言語を使って記述するらしいということがわかっていますので、Pythonと機械学習の理解のためにコードの解析をします。datasets,svmPythonではimport文を使って標準ライブラリやpipでインストールしたパッケージ、自作のパッケージなどをインポートできる。...Pythonでは関数やクラスなどをまとめて書いたファイルをモジュールという。モジュールとかライブラリとかパッケージとかは全部同じ意味です。要するに他ファイルに書かれた関数をこのファイルのこのコードで呼び出せるようにする記述です。datasets.load_digits()機械学習といえばscikit-learn(サイキットラーン)ですが、scikit-learnの中にはすぐに機械学習やデータ分析を試せるように、ロードして使えるデータセットがいくつかあります。(classification).とあって、クラシフィケーションの意味が分かりませんが、まあload_xxxは実験用データセットxxxを読み込む関数で、戻り値のデータセットを変数digitsに格納しているんだ、と推測できます。変数の型は定義しなくてもいいみたいです。>>3digits['data'][0].reshape(8,8)これはコメントの記載から、リスト型のdigitから、行[data]、列[0]のところにあるデータをreshape()で行列に整形していると推測できます。データを行列に整形する、というのがイメージできませんが、次に進みましょう。>>4digits.target[0]targetには正解ラベルがはいっているらしいです。datasetsの中身を詳細に見ようとして手間取ったので、サイトにあった下記の説明で納得することにします。構造はわかりませんがそういう事らしいです。データセットは8x8の画像が1797枚。それぞれに0〜9のラベルがついている。>>5svm.SVC()、clf.fit(digits.data,digits.target)コメントにはサポートベクターマシンとあります。これは例えば、xy平面上に各データA群、B群をプロットしていき、ABを切り分ける線を引く方法論のようです。このコードの場合はそれがxy平面の二次元ではなく、64次元になったということだと思います(意味不明)。Fitは学習だそうで、fitにデータと正解ラベルを引数として渡すと、このclfはそのデータの内容を学習した状態になるということだと思います。1800枚の画像なので、0~9までの数字の手書きの文字をそれぞれ180回ずつ見て、特徴を覚えた感じだと思います。dataと正解ラベルの対応とかはどうなっているんでしょうか。勝手にやってくれているんでしょうか。...、clf.predict(test_data)この[[]]というのは、行列のデータを作るときの記号で、2x2の行列なら[[0,0],[0,0]]のようになります。このコードの書き方だと1x64の行列になると思いますが、ちゃんと8*8に内部的に再解釈している?predictは予測で、先ほど学習したclfにテストデータを渡して、predictすると、どの正解ラベルに入るかを教えてくれています。15:49python機械学習のコード解析Tweet広告を非表示にする関連記事2017-04-26グラフ自動生成を行うマクロを組みました。月別アーカイブ参加グループテクノロジーはてなブログをはじめよう!zizamo2193さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。