お帰りなさい｡
最後のプロジェクトでは､ 大量のライブラリと､ ライブラリに特化したデータビジュアライゼーションを使用したため､
少し圧倒されました｡
しかし､ データの学習やモデルの作成については､ まだあまり触れていません｡
そこで､ 今回のプロジェクトでは､ 実際に機械学習を行ってみます｡
楽しくなりそうですね｡
でも､ 警告しておきたいことがあるんです｡
これは､ 機械学習がどのようなものか､ ほんの一端を紹介したものです｡
初めてだと少し敷居が高く感じるかもしれませんが､ 何でもそうですが､
練習と繰り返しが大切です｡
しかし､ 願わくば､ この6つのステップのプロセスと､ それが実際にどのように機能するかを､ 最後までご覧いただければと思います｡
そして､ 一日の終わりには､ 最初に考えていたほど複雑なことではないのかもしれないとも思うでしょう｡
では､ さっそく始めましょう｡
まず､ Python 3で新しいノートブックを作成します｡
さて､ 今回は別のデータセットで､ 機械学習といえば有名なものを使います｡
アヤメの花のデータセットと呼ばれるものです｡
だから､ 菖蒲の花と入力すると
実際に種類があるアヤメの花について､ これだけの情報を持ったデータです｡
そこで､ アヤメ科の植物の種類を検出できる機械学習モデルを作成することにしました｡
さて､ 幸運なことに､ 私たちは
このデータには､ サイキック・ラーニングを使って､ とても簡単にアクセスすることができます｡
機械学習を支援するための強力なライブラリです｡
だから､ サイキック・ラーンドットから言うだけでいいんです｡
データセットとサイキックラーンには､ いくつかの良いデータセットがあらかじめ組み込まれており､ 自分で探索することができます｡
そして､ 虹彩のデータセット､ または小文字のiをインポートすることにします｡
ただ､ このように｡
そうすれば､ アイリスイコール負荷になるように｡
ドット
アイリス
ただ､ このように｡
そして､ 私は実行をクリックします｡
あ､ これはアンダースコアにすべきですね｡
これでデータが読み込まれたわけです｡
そして､ レポートに戻ると､ データをインポートしています｡
データのクリーニングは必要ない｡
そのことは､ 前回のプロジェクトで学びました｡
しかし､ CI could learnにはこれらのデータがあらかじめ組み込まれているので､ モデルに利用できるクリーンなデータであると判断できます｡
次に､ データをトレーニングセット､ セット､ テストセットに分割する｡
しかし､ そのためには､ このXとYという概念を機械学習で使うことができるのです｡
Xは､ 通常､ 機械学習モデルに与える入力を意味します｡
ここでは､ 虹彩のドットデータを入力とします｡
それが､ 私たちの手にするデータなのですね｡
では､ それが何なのか実際に見てみましょう｡
走ろう｡
それがデータです｡
見たか？
巨大なアレイをいくつか並べただけです｡
そして､ なぜがターゲットになる｡
つまり､ ドットターゲットをして､ 実行をクリックすると｡
的であることがわかると思います｡
さて､ これはどういうことかというと､ データであるXを受け取る関数を見つける､ あるいは作りたいということです｡
そして､ Yを出力する｡
どちらがターゲットなのか｡
それが答えです｡
さて､ 私たちの場合､ これが答えであるゼロイチとゼロツーです｡
しかし､ 虹彩データセットでググると
そして､ ここのWikipediaのページを見に行く｡
虹彩には､ 細胞質対色､ バージニアの3種類があることがおわかりいただけると思います｡
そして､ それぞれを0.1か2で表現しています｡
そこで､ 私たちのデータセットを見てみると
今回のターゲットは､ その3種類の菖蒲の花の種類です｡
この場合､ サイクロンライブラリにあらかじめセットされているターゲットは､ このような画像のデータです｡
そこでもう一度､ これを削除して実行を押すと､ このような画像になります｡
だから､ 各リストは
虹彩の花を何らかのパラメータで表現したデータのこと｡
そして､ ターゲットですが､ このデータを入力したとき､ 何が出力されるかという答えです｡
3つの花のうち､ どれがそうなのか？
今､ Kaggleに行ったら｡
そして､ 実際にアイリスに入力するのです｡
データセットです｡
列がペダルの長さ､ 長さ､ そして種名になっているのがわかると思います｡
このように､ テストしている列があることがおわかりいただけると思います｡
これは､ アヤメの花の種類に対応する数字です｡
では､ 話を戻しましょう｡
資本金Xが我々のデータ､ インプットになると言うことです｡
そして､ y､ 小文字のy｡
そして､ これはあくまでも基準です｡
私たちの目標になる
最後に､ 実際に機能名を取得したいと思います｡
つまり､ ここにあるリストの各項目が機能なのです｡
覚えておいてください｡
これらのコラムは
これらの列は､ 幅､ 花弁の長さ､ およびカップルです｡
だから､ フィーチャーと言うだけで格納できるのです｡
名前
アイリスとして｡
ドット
機能名です｡
これも虹彩データセットがあらかじめ組み込まれていて､ ターゲット名は虹彩ドットのターゲット名となります｡
これを実行するとまた
まず､ 機能名からやってみましょう｡
コラムがありますね｡
そして､ もし私が名前をターゲットにした場合｡
これが3つの選択肢であることはおわかりいただけたと思います｡
今までは､ データをインポートしていたわけです｡
データのクリーニングをする必要がなかったのです｡
まだ本当にデータを分割したわけではありませんが､ 少なくとも私たちのデータ､ そしておそらくその中に含まれるものを理解し始めています｡
データを理解し､ この情報があることがわかったら､ 今度はデータをトレーニングセットとデータセットに分けることができます｡
今､ 私たちは教師あり学習を行っていますが､ これはラベル付けされているからですよね？
必要なデータはすべて揃っていますし､ 必要な答えもあるので､ モデルをテストすることができます｡
ところで､ データの分割方法を紹介する前に､ どうでしょう？
タイプは？
オブXは｡
わかりますか？
numpyの配列です｡
numpyというライブラリで多次元配列が使えると言ったのを覚えていますか？
さて､ このデータセットの裏側は､ numpyの配列です｡
単なるpythonのリストではなく､ もう少し機能が充実しています｡
とにかく､ データの分割を始めましょう｡
そこで､ ここでやりたいことは､ Psych Learnのライブラリからです｡
モデル選択をつかみたい｡
そして､ この中で輸入を行うのです｡
列車テストの分岐｡
今すぐ
それは何ですか？
ググって調べてみよう｡
ライブラリのドキュメントを見ると､ train test split は配列や行列をランダムに train
と test のサブセットに分割することが書かれていますね｡
つまり､ データをどのようにトレーニングデータとテストデータに分割するか､ ランダムに決定してくれるのです｡
だから今､ 面白い使い方ができるんです｡
Xは学習データセットxと簡単に言うことができる｡
テストデータは､ なぜ訓練データセット､ 次にYテストデータセットを設定します｡
そしてまた､ それをtrainを使って変数に代入すればいいのです｡
テストスプリット
インポートする関数です｡
そして､ XとYといくつかの異なる変数を与える｡
だから､ 例えばこっち､ 見てもらえばわかると思うんですけど｡
テストサイズやランダムな状態､ 異なる変数のシャッフルなど､ 欲しいものがあるのです｡
繰り返しになりますが､ これは自分で読んでください｡
この場合､ テストサイズは0になるとだけ言っておきましょう｡ 4.
では､ 今どのようなデータがあるのか見てみましょう｡
そこで､ 列車のデータをXプリントすると､ ここでドットシェイプができます｡
とプリントすることもあります｡
テスト形状｡
これを実行すると
これは､ 配列の次元数と呼ばれるものを返します｡
つまり､ それは何行何列ということです｡
つまり､ 4列90行になっているんですね｡
つまり､ トレーニングデータは90行､ タスクテストデータは60行です｡
テストサイズを5ポイントに変更し､ 実行をクリックすると､ このようになります｡
今は､ テストサイズを50％をトレーニング用､ 50％をテスト用と分けているので､ 実際にいろいろと変えて試してみることができるのです｡
そして､ 訓練データとテストデータのサイズを操作する｡
しかし､ 理想的にはテストデータよりも学習データを多くしたいものです｡ なぜなら､ データが多ければ多いほど､
モデルの精度が高まるからです｡
そして､ これはY trainとY testの変数も同じになります｡
おめでとうございます｡
データをトレーニングセットとテストセットに分けたところです｡
これからモデルの作成など､ 楽しみなステップが待っています｡
一息ついて､ 次のビデオでその方法を学びましょう｡