‫なるほど｡
‫やりましたね｡
‫見てください､ 私たちはここまで来たんです｡
‫サイキックローンライブラリーの絶対的な大部分をカバーしましたが､ まだまだ終わらせるつもりです｡
‫最後のセクションまで､ すべてをまとめています｡
‫端から端までのワークフローを経験しました｡
‫ここまで､ データの準備の仕方を見てきました｡
‫ここまで､ 問題に適した機械学習モデルの選び方について見てきました｡
‫データに合わせてフィドルしています｡
‫それを使って予測を立てています｡
‫学習済みモデルを評価しました｡
‫学習済みモデルを改良しました｡
‫鉄道模型を保存・読み込みました｡
‫では､ このすべてを､ 組み合わせてみましょう｡
‫できるかな？
‫では､ 少し見出し7を作ってみましょう｡ 0､ まとめること｡
‫まず第一に
‫私たちは多くのことをカバーし､ これまでのところ､ それがすべてであるように見えるので､ 自分自身を少し賞賛してください｡
‫しかし､ 心配はいりません｡ 機械学習のプロジェクトは､ このような形でスタートすることが多いのです｡
‫いろいろな実験やコードがあちこちにあるんです｡
‫そして､ うまくいくものが見つかったら､ 改良を加えていくのです｡
‫そして今､ この洗練されたプロセスはどのようなものだろうか｡
‫さて､ 古き良き時代の自動車販売回帰の問題を思い出してみよう､ a｡ k. a. 自動車の販売価格を予測する｡
‫それを例にして､ 整理するために､ CIキットローンを使うことにします｡
‫それでは､ CIキットを使ってパイプラインの整理整頓をしてみましょう｡
‫今回は､ パイプラインクラスを使用します｡
‫さて､ パイプラインとは､ さまざまな循環型融資のプロセスを一発でつなぎ合わせるものだと想像してください｡
‫つまり､ 関数を書くのと同じようなものですね？
‫2､ 3種類のステップを取得して､ それを組み合わせているんですね｡
‫最終選考に残ったマイナーを使ったトランスのパイプライン｡
‫Transformerやtransformは､ IKEAがデータを変換し､ データを準備することです｡
‫そして､ 最終的な見積もりが出される｡
‫サイキックローン用語で覚えているのは､ 機械学習モデルです｡
‫これは1000行の自動車販売データですが､ ここに欠損データがあります｡
‫そうだろ？
‫だから､ ここに足りないものがあるんです｡
‫ここで行方不明｡
‫そして､ 私たちがやろうとしているのは､ メイクカラーのオドメータードアを利用して､ 車の売却価格を予測することです｡
‫さて､ 繰り返しになりますが､ このデータは不完全です｡ なぜなら､ こんなことができるだろうか？
‫これ､ わかるかな？
‫十分な時間があれば､ 現実的にはもう少しパラメータを増やして､ 車の詳細を調べてから､
‫いくらで売れるかを判断することになるでしょう｡
‫だから､ その話はもうやめよう｡
‫まずは､ データを再インポートするために､ コードを手を動かしてみましょう｡
‫So go pd read see as v.
‫やめてくれ
‫データフォルダに保存しています｡
‫車の販売拡張やデータフォルダがないのは､ チェーン上ではありません｡
‫カーセールスEXが欲しい｡
‫これでよしとしよう｡
‫Carsales 拡張データ欠落｡
‫それが私たちの願いです｡
‫そして､ 見よう見まねで｡
‫ちょっとだけ覗いてみましょう｡
‫素晴らしい｡
‫だから､ これはあくまで報告なんです｡
‫ここにあるCSVファイル
‫戻ってきてください｡
‫今すぐ
‫私たちは何と言ったのでしょう？
‫この列を使いたいと言ったのは私たちです｡
‫そこで､ この4つのコラムで価格コラムを予測する｡
‫データ型について見ていきましょう｡
‫そこで､ 文字列のオブジェクトであるmakeを用意しました｡
‫物体である色なんです｡
‫そこにあるのは､ 文字列です｡
‫ドアもカテゴリーに入るということで､ 価格にはこだわりません｡
‫つまり､ オドメーターは数値の羅列なのです｡
‫そして､ 私たちがデータのために何をしなければならないか､ 覚えていますか？
‫それを機械学習のモデルにする前に､ すべて数値化されていることを確認する必要があります｡
‫機械学習モデルを構築する前に､
‫もう1つ小さな障害があります｡
‫ですから､ これも機械学習モデルでは大きな禁忌で､ データが数値であること､ 欠損値がないことを確認する必要があるのです｡
‫基調講演を参考にさせていただきました｡
‫データはすべて数値であることが望ましい｡
‫これは覚えておきたいことですよね｡
‫また､ 欠損値があってはならない｡
‫なるほど｡
‫調べてみよう｡
‫では､ どうすればいいかというと､ これをまとめようと思えば､ 以前にもやったことがあるのです｡
‫データの充填も見たし､ 変換するのも見た｡
‫しかし､ 今回はそのためにパイプラインを使いたいのですね｡
‫そこでサイキックが学習する｡
‫Pipelineの主な入力はstepsで､ steps名と取るべきアクションを持つタプルを含むリストである｡
‫すぐにでも見れそうですが､ 一応話しておきます｡
‫そして､ 私たちの場合､ 私たちのステップは何なのか？
‫さて､ まずは欠落しているデータを埋める必要があります｡
‫そして､ そのデータを数値に変換し､ その上で機械学習モデルを構築します｡
‫では､ やってみましょう｡
‫ここに行こう｡
‫これはやってみたいですね｡
‫つまり､ 1つの細胞の中に全部入っているんです｡
‫ここで､ やるべきことのステップを整理しておこう｡
‫ステップス
‫1つのセルですべてを行いたい｡
‫1つのセルで全部できるのか？
‫というのも､ これをやる前は､ かなりの労力が必要だったんです｡
‫でも､ えーと､ こんな感じです｡
‫これがパイプラインを使った絞り込み作業です｡
‫そこで､ ステップ1では､ 欠損データを埋めることにしました｡
‫そして､ ステップ2は､ データを数値に変換することです｡
‫素晴らしい｡
‫そして､ ステップ3は､ データに対してモデルを構築することです｡
‫わかりました｡
‫ひび割れ､ ナックル､ 指の準備をする｡
‫やってみよう｡
‫このように､ かなり駆け足で説明しているように見えますが､ パイプラインを除けば､ ここで説明していないことはありません｡
‫しかし､ これまでのビデオで学んだことは､ ここのドキュメントを読むのと同じように､ 具体的に何が起こっているのかを推し量ることができるようになります｡
‫つまり､ インポートPANDASはPDで､ これを1つのセルですべて行い､ スカラ合成から行いたいからです｡
‫カラムトランスを覚えていますか？
‫そしてSkylineから､ ここで活用するパイプラインクラスをインポートします､
‫import pipeline｡
‫そして､ Skyline Computeから､ simpleとpewterをインポートするのです｡
‫これを利用してデータを取り込みます｡
‫だから､ 足りないデータを埋めてください｡
‫そして､ スカイラインのドットプリプロセスから｡
‫ホットエンコーダを1台取り込む｡
‫これは､ データを数値に変換するために使うもので､ 申し訳ありません｡
‫そこで､ データを準備し､ そのために使うのが､ これらの入力です｡
‫そして､ 次はモデリングです｡
‫というわけで､ スカイライン・アンサンブルから｡
‫信頼できるランダムフォレストをインポートして､ 数字を予測させたいので､ 逆行させる｡
‫そして､ スカイロンのモデル選択からインポートします｡
‫私たちはそれを勘違いしていました｡
‫ええ､ 間違っているようです｡
‫誤字脱字が多いのが特徴です｡
‫トレインテストの分割｡
‫そして､ グリッドサーチCVを使います｡ グリッドサーチは以前にも使われたことがあり､ ランダムフォレスト・アグレッサーに最適なパラメータを検索することができるからです｡
‫さて､ これから乱数種を設定するので､ MP NP乱数種42としてnumpyをインポートします｡
‫素晴らしい｡
‫さて､ 念のため､ 1つのセルですべてを行うために､ データを再インポートします｡
‫そこで､ データをインポートして､ ラベルがない行を削除します｡
‫つまり､ データはCSVではなくPDに等しいのです｡
‫データフォルダに移動します｡
‫これは文字列である必要があります｡
‫そして､ 私は車の販売に行きます｡
‫拡張された欠損データ｡
‫そして､ ラベルが欠落しているバラを削除するために､
‫データドットドロップとサブセットで価格列と等しくなるように設定します｡
‫さて､ このように複製して､ 今度はドロップしてみました｡
‫価格の欠損値を含む行｡
‫だからa｡ k. a. ラベルがない｡
‫さて､ ここで行うのは､ データセットのさまざまな特徴と､ そのデータに対して実行したいさまざまな変換パイプラインを定義し始めることです｡
‫では､ ここに戻ってきたら､ どんな変身が必要なのでしょうか？
‫作る色を数字に変えていく必要があるのです｡
‫ここにあるすべての列の欠損値を埋める必要があります｡
‫そして､ カテゴリーでもあるので､ 扉を変える必要があります｡
‫カテゴリ値に変更する必要があります｡
‫だから､ 実際に知ることができるのです｡
‫ドアについて言ったことは忘れてください｡
‫実際にコードで何をしているのか見てみましょう｡
‫そこで､ さまざまな機能やトランスフォーマーパイプラインを定義します｡
‫ですから､ 今回のカテゴリカルフィーチャーであるドアは､ すでに数値化されているので､ 特別なケースと言えます｡
‫カテゴリカルフィーチャーは作るに等しい｡
‫そして､ これから行うのは､ カテゴリカル・トランスフォーマーを作成することです｡
‫つまり､ これは単にデータを修正することを意味します｡
‫そのために､ パイプラインを使うんです｡
‫パイプラインは今回が初めてですが､ パイプラインのステップを先に進めていきます｡
‫インポーターで欠損値を埋めることになる｡
‫そこで､ パイプラインのインプットが取るべきステップというわけですね｡
‫タプルのリストとして次々に表示されます｡
‫では､ その様子をご覧ください｡
‫名前はImporterで､ このアクションを覚えておきます｡
‫つまり､ 単純なコンピュータの戦略は定数に等しく､ そして､ フィル値が欠落することになるのです｡
‫だから､ この特殊なケースで何が起こっているのか､ 推し量ることができるかもしれません｡
‫インプットするところ｡
‫欠落文字列を定数値とするカテゴリ特徴量｡
‫では､ ホットエンコーダーを1つ作って行ってみましょう｡
‫そして､ 未知なるものに対応すること｡
‫今まで見たこともないようなコラムですね｡
‫無視するように指示するのです｡
‫素晴らしい｡
‫そして､ これらをすべて並べたことを確認する｡
‫だから､ 私たちはここで何かを見逃している必要があるのです｡
‫ブラケットがどこにあるか確認する必要があります｡
‫ここで1つ足りない｡
‫これでよしとしよう｡
‫ほら､ 半分くらいは､ 足りない括弧がどこにあるのかを把握することです｡
‫そして､ ドア機能｡
‫ここでは､ ドア機能をドアに等しく定義することにします｡
‫そうして､ また同じことを繰り返す｡
‫そこで､ ドアトランスを作成することにします｡
‫ドアトランスはパイプラインに等しい｡
‫ここでもパイプラインを使っていますが､ これはすぐに理解できるからです｡
‫そうですね｡
‫なぜ？
‫パイプラインを整備しています｡
‫そのためには､ 押すしかないわけです｡
‫にインプットする｡
‫今度は､ 同じことをもう一度やりたいと思います｡
‫シンプルなパソコン｡
‫そして､ 戦略は一定で､ ドアの値は4で埋め尽くされます｡ 4はドアの列で多数派の数字だからです｡
‫そして次に､ 数字機能が欲しい｡
‫つまり､ 数値機能はオドメーター欄なのです｡
‫カム
‫素晴らしい｡
‫そして､ 数値変換のイコールを作成します｡
‫まず､ パイプラインのステップイコールです｡
‫そしてまた､ ここで値をインプットする必要があるのです｡
‫だからインプットする｡
‫シンプルなパソコン｡
‫戦略はメインに等しい｡
‫つまり､ これは数値の列を埋めるということですね｡
‫この場合､ ストラテジーを持つオドメーターは､ オドメーター列の主要な値を取り､
‫オドメーターの欠けた行をすべて残りの値の平均値で埋めることを意味します｡
‫ふー｡
‫多かったですね｡
‫今､ まだできていない｡
‫それでいいんです｡
‫前処理のステップを設定するのです｡
‫だから､ 私たちがやるべきことを忘れないでください｡
‫欠落しているデータを補う必要がある｡
‫つまり､ これは前処理の一部なのです｡
‫この2つは､ データの前処理です｡
‫そして､ これはデータをモデリングしているのです｡
‫そこで､ 前処理として､ データの欠損を埋め､ データを数値に変換することにしました｡
‫そこで､ 欠損値を埋めてから数値に変換する､ ということができるのです｡
‫そこで､ プリプロセッサを作成するために､ 列変換タブオートコンプリートを使ってプリプロセッサをインスタンス化し､ それを渡すことにします｡
‫コラムトランスは､ トランスイコールを取ります｡
‫そして今､ これはデータに対して行いたい変換のリストになる予定です｡
‫そして､ 私たちの場合は､ Categoricalを略してCatと呼ばれるものがあります｡
‫カテゴリカル・トランスフォーマーを通過することになる｡
‫そして､ ここで定義した変換､ カテゴリカル・トランスフォーマーは､ シンプルなコンピュータの値を欠損で満たし､
‫1つのホットとコードのメーカーと色にしたいのです｡
‫それらをカテゴリ特徴量に対して実行させたいのです｡
‫タブを押すと､ 水のカテゴリ機能が完成します｡
‫素晴らしい｡
‫今度はもう一回タップして渡します｡
‫そこで､ 今度はドアトランスを使って､ 同じ手順を実行するようにします｡
‫どれがドアの欄を定数値4で埋めようとしているのか｡
‫だから､ ドアフィーチャーに行けるんです｡
‫素晴らしい｡
‫そして最後に､ 数値トランスフォーマーを使って仕上げたいと思います｡
‫そしてパフォーマンス｡
‫インピュテーションのことです｡
‫数字機能に関して
‫機能が1つだけだと美しい
‫だから､ 複数形としてのfeaturesは､ おそらく正しくないだろう｡
‫そして今､ 前処理が終わったので､ データが埋められ､ 欠損値が埋められ､
‫そして数値に変換されます｡
‫ここでやったことを使って
‫次に､ 前処理とモデリングのパイプラインを作成します｡
‫前処理とモデリングのパイプラインを作る必要があるところで､ パイプラインという言葉を使ったので､
‫もしかしたら推測の範囲外かもしれませんが､ これを行うことができます｡
‫つまり､ 基本的には前処理のステップとモデリングのステップを一緒にして､ 複数のステップがあるので､
‫パイプラインを使ってそれらを結合するのです｡
‫つまり､ モデル＝パイプラインなんですね｡
‫タプルを含むリストであるstepsを渡す｡
‫そして､ この名前です｡
‫つまり､ これはプリプロセスのステップなのです｡
‫そして､ それをプリプロセッサーに渡します｡
‫パイプラインの最初のステップは､ このモデルパイプラインを実行することです｡
‫そして､ 次のステップへ｡
‫ここに小さなカンマを入れて､ 別のタップオンを作成する必要があります｡
‫ランダムフォレスト・アグレッサーと呼ばれるモデルです｡
‫素晴らしい｡
‫これで､ モデルパイプラインの設定が完了し､ プリプロセスを通過します｡
‫前処理が終わると､ その上でランダムフォレスト分類器を構築することになる｡
‫データを用意することができる｡
‫つまり､ スプリットデータXはデータ落ちに等しいのです｡
‫予測したいのは価格列なので､ 価格列を削除します｡
‫アクセスは1に等しくなる｡
‫Yはデータ価格になりそうです｡
‫そして､ いつものようにx train x testを作成します｡
‫Y train y test equals train test, split x y test size, we'll use 0. 2.
‫そして､ モデルのフィッティングとスコアリングを行うのです｡
‫モデルドルフィン x train y train nowのモデルスコアです｡
‫Xテスト｡
‫なぜテストするのか？
‫ああ｡
‫間違っていたところ
‫ハンドルネームは既知｡
‫誤字がありました｡
‫もちろん､ そうです｡
‫ハンドルネームは不明です｡
‫これでよしとしよう｡
‫それを変える｡
‫おっと
‫やりましたね｡
‫パイプラインクラスを活用して､ 1つのセルで全てのパイプラインを行いました｡
‫では､ どんなことをしたのか､ 順を追って説明しましょう｡
‫クラスをインポートして､ データを準備しました｡
‫Pandasの列変換パイプラインシンボルと周期1ホットエンコーダ｡
‫クラスをインポートしてモデリングを行うので､ ランダムフォレスト・リプレッサー・トレイン・テスト・スプリット・グリッドサーチ・CV.
‫ランダムシードを設定することで､ 結果の再現性を高めています｡
‫そして､ さまざまな機能やトランスフォーマーパイプラインを定義します｡
‫ここでは､ カテゴリ特徴量､ ドア特徴量､ 数値特徴量を定義しています｡
‫そして､ それぞれについて､ 欠損値を埋め込むだけでなく､ ホットエンコードするためのパイプラインのステップをいくつか作成しました｡
‫だから､ 数字でなかったデータをすべて数字に変えてください｡
‫そして､ 前処理のステップを設定しました｡
‫そのため､ ここのパイプラインは全部持っていかれてしまいました｡
‫ドアや数値など､ カテゴリカルな特徴を生かしたステップを踏んでいくこと｡
‫そして､ これらのステップをまとめるために､ 別のパイプラインを作成しました｡
‫データを前処理してモデリングするだけでなく｡
‫そこで､ データをXとYに分割し､ さらにtrainとtestに分割します｡
‫そして､ モデルフィットを呼び出すと､ この変数が呼び出され､ このパイプラインが実行されることになります｡
‫これは本来､ プリプロセッサのステップを呼び出すもので､ このパイプラインを実行し､ 本来､ これら3つのステップをすべて実行するものです｡
‫しかし､ ここで見たものをもう一度見てみれば､
‫何が起こっているのかがわかるでしょう｡
‫そして今､ 元々これをやったところまでスクロールして戻ってみると､ パンダでデータを埋めて､
‫スカイロンでデータを埋めて､ 車の販売問題でモデリングして､ いくつもの異なるセルにわたってやったことがわかると思います｡
‫私たちは､ コメントを除いた55行のコードで本格的な機械学習モデルを構築していますが､ 自分たちに正直に言えば､
‫おそらくこれを整理することができるでしょう｡
‫しかし､ 今は､ 最初のうちは機械学習が全体的に非常に実験的であることがわかるようになってきました｡
‫とても実験的です｡
‫そのために必要なのは､ あらゆる場所でコードを書き､ いろいろなことを試し､ その効果を確認することです｡
‫そして最終的には､ このような形に落とし込み､ パイプラインの1つの大きなセルにすべてを入れ､
‫途中で把握したステップを踏んでいくのです｡
‫次のビデオでは､ ハイパーパラメータチューニングの使用方法について説明します｡
‫少し休憩して､ ここでやったことを振り返ってみてください｡
‫完全に受け入れられなくても心配ありません｡
‫パイプラインに目を通していない｡
‫サイキックローン資料のクラスと､ 資料でやったこととここでやったことを並べてみてください｡
‫それ以外は｡
‫次の動画でお会いしましょう｡
‫このスコアを伸ばせるかどうか｡