‫まあ､ これについては順調に進んでいますよ｡
‫価格回帰の問題がある｡
‫前回のビデオでは､ 機械学習モデルの構築に挑戦しました｡
‫数値形式でないデータがあることを知りました｡
‫ここで､ いくつかの文字列を用意し､ チェックしてみましょう｡
‫DF ああ､ 実はDF Tempと一緒にやっているんです｡
‫My bad C これらは､ 忘れてしまうこと､ スルーしてしまうこと､ ごちゃごちゃしてしまうことです｡
‫DF Tempもやはり同じ問題なのですね｡
‫なぜなら､ ここにはいくつかの値､ 数値のカラムとそうでないものがあるからです｡
‫では､ どうすればいいのか？
‫まあ､ さえない｡
‫ダニエル､ 何をしてるんだ？
‫一時的なデータフレームで作業しているわけでもないでしょう｡
‫なるほど､ これもゲームの一部なんですね｡
‫失敗しても､ また戻って修正する｡
‫それがデータサイエンティストとしての役割です｡
‫たくさんの実験｡
‫そこで､ 文字列データや非数値データをすべて数値化する方法の1つが､ PANDASのカテゴリーに変換することです｡
‫それは､ どういう意味ですか？
‫そこで､ 文字列をカテゴリーに変換する｡
‫では､ ここに書いておきますね｡
‫すべてのデータを数字にする方法の一つは､ PANDASのカテゴリーに変換することです｡
‫つまり､ 販売日をインポートしたときに見たdatetimeオブジェクトのように､ PANDASにはカテゴリーという別のデータ型があるのです｡
‫Pandasの型APIを見てみましょう｡
‫さて､ これでよしとするか｡
‫これはちょっといいかもしれませんね｡
‫ここでは､ その様子を見ることができます｡
‫つまりpandasのドットAPI型です｡
‫どこで見ることができるのですか？
‫ユーティリティ関数､ データ型､ 関連機能｡
‫それでは､ どうぞ｡
‫これをコピーして､ まずは読み上げてみましょう｡
‫どうしたんだ？
‫D型イントロスペクション｡
‫つまり､ D型はボール型であり､ カテゴリカル型である｡
‫さて､ pandas d型は入力をnumpyのデータ型オブジェクトにpandasだけのd型オブジェクトに変換します｡
‫なるほど｡
‫そのため､ 選択肢はかなりあります｡
‫pandasで様々なデータ型を見てみること｡
‫しかし､ 今回は文字列をカテゴリーに変換することに重点を置いているので､ その方法を見てみましょう｡
‫ここにちょっとリンクを貼っておきましょう｡
‫pandasと互換性のある様々なデータ型はこちらで確認することができます｡
‫機械学習の多くは基本的にデータを取得し､ ここにある機械学習マップから選んだ既存の機械学習モデルで実行できるように準備することです｡
‫だから､ インプットをすることなんです｡
‫なるほど｡
‫ここにあるデータの数々｡
‫ここにこういうのがあって､ それをマッサージするとか､ 本質的に､ うん､ いい言葉だなあと｡
‫それを機械学習モデルと連動するように加工する｡
‫そのため､ 機械学習モデルでパターンを見つけることができます｡
‫誰かがこのモデルを作ってくれたので､ とても感謝しています｡
‫そして､ そのパターンを見つけて､ いくつかのアウトプットを出してくれるのです｡
‫さて､ いくつかの予測､ パターン､ ラベル､ そんなところでしょうか｡
‫そして､ それがどの程度有効であるかを評価するのが､ 私たちがここで行っていることです｡
‫機械学習モデルで動作するように入力を操作しているのです｡
‫では､ 見てみましょう｡
‫テンパーヘッドを思い出してみよう｡
‫私たちが取り組んでいることの
‫なるほど｡
‫ああ､ これは何度か見たことがある｡
‫これはあくまで別の見方です｡
‫常に自分のデータを見ることができる｡
‫そこで､ これらのAPIタイプのいずれかを使用してみることにします｡
‫では､ 何を使えばいいのでしょうか？
‫ここに文字列のものがあるのか？
‫さあ､ どうぞ｡
‫IPタイプは文字列Dタイプです｡
‫これをどう使うかというと､ 文字列D型の文字列です｡
‫なるほど｡
‫試してみよう｡
‫だから有料API型｡
‫文字列d型def tempです｡
‫警告の使用禁止はあるのか？
‫なぜ使用上の注意事項があるのですか？
‫警告アラームを使用しないのですか？
‫どうだろう｡
‫誰がわかる？
‫これからもその間違いを犯しそうですが､ 確認しましょう｡
‫なるほど｡
‫だから､ 文字列なんです｡
‫使用帯域の欄は､ 文字列とする｡
‫他の列についても同じことができますが､ なぜそこまでしてコードを書かなければならないのでしょうか？
‫ちょっとしたforループを作ってみましょう｡
‫それが私たちの仕事です｡
‫だから大丈夫｡
‫文字列を含む列｡
‫なぜなら､ どの列に文字列が含まれているかがわかれば､ それを何らかの数値に変換することができ､
‫機械学習モデルも喜ぶからです｡
‫つまり､ Def Tempの4つのラベルカラム｡
‫これから1/1を経て､ その後に振り返りをします｡ これを見た人は､ DFのテンプレアイテムが何かわからないけど､
‫試してみたいと思うかもしれません｡
‫多分､ ビデオを一時停止して試したいんだろうけど､ タイプじゃなくてあなたが説明してね｡
‫また､ そうでない場合も､ それでよいのです｡
‫これからDタイムで通りますよ｡
‫私たちがやっていることは､ 文字列を持つすべてのカラムを見つけようとしているので､
‫このようなものをコピーして､ これを渡すだけです｡
‫というか､ 実はこっちの方が内容が濃いんです｡
‫ドキュメントにはそう書いてある｡
‫そして､ ここでコンテンツを渡すことになります｡
‫だから､ これは理にかなっている｡
‫DFのitemsは調べてみないとわからないのですが､ ラベルの内容を取りに行き､
‫その内容が文字列データ型かどうかを調べています｡
‫はい｡
‫そして､ ラベルを印刷するのです｡
‫さて､ これが何をするものか想像がつくかもしれませんが､ つかめなくても大丈夫です｡
‫とにかく何が起こるかわからない｡
‫疑問があれば､ コードを実行し､ ここにたどり着いた｡
‫つまり､ これらはすべて文字列データ型のカラムなのです｡
‫意味があるのか？
‫DFのテンポアイテムが何をするのか気になる方は､ こちらをご覧ください｡
‫データフレームを辞書のように扱いますが､ これはそのようなものですよね？
‫キーと値の辞書である｡
‫なるほど｡
‫列名のキーと値は､ 列の中に表示されるものです｡
‫では､ 少し例を挙げてみましょう｡
‫デフォルトの項目が気になる方｡
‫しています｡
‫以下はその一例です｡
‫そこで､ ランダムなディクショナリequalsを作成しますlet's be creative key one equals hello and a two equals.
‫まあ､ 私より少しは工夫できるかもしれませんが､ ランダムチンコアイテムでキーバリューを狙うのです｡
‫では､ 私たちのアイテムだけをどのように手に入れたのか､ ご覧ください｡
‫こちらも同様です｡
‫ドットアイテムです｡
‫行くんだ｡
‫これがキーであるかどうかをプリントして､ それを渡すのです｡
‫そして､ また､ 行くのです｡
‫これが値である場合
‫値です｡
‫素晴らしい｡
‫Pythonの辞書を扱ったことがある人なら､ ここで何が起こるかわかるかもしれませんね｡
‫これは何なんだ？
‫ああ､ なるほど｡
‫2回印刷されるんです｡
‫大丈夫です｡
‫そこで何が起こっているのか､ なんとなくわかるんです｡
‫つまり､ ラベル付きコンテンツでは､ 基本的に列の名前にラベルを付け､ コンテンツは列の内容であるということです｡
‫つまり､ これがやっていることなんです｡
‫この小さなループは､ 文字列データ型を含むすべてのカラムを表示します｡
‫素晴らしい｡
‫では､ それがわかったところで､ 私たちにできることは何でしょうか｡
‫うーん｡
‫さて､ pandasのデータ型関連の機能を読み解いてみると｡
‫そうですね､ それはやめましょう｡
‫でも､ この辺りか､ この辺りなんです｡
‫または､ pandasのカラムのデータ型を変更する方法を検索することもできます｡
‫その中でつまずきそうなのが､ 話よりも文字列をカテゴリーに変換することです｡
‫ダニエル､ こっちだ
‫そうしよう｡
‫コード化しよう｡
‫その様子をご覧ください｡
‫よし､ よし､ やってやろうじゃないか｡
‫つまり､ これですべての文字列の値がカテゴリー値に変わるわけです｡
‫そして､ なぜこんなことをするのだろうと疑問に思うでしょう｡
‫まあ､ すぐにでも理解できそうなものですが｡
‫ラベルは､ DF temp itemsの前に書いたのと同じforループを持ってくるだけです｡
‫そして､ 私たちは､ APIがピーされた場合に行くつもりです これはかなり長いものです タイプは文字列Dタイプです それは口が達者なので､ 基本的には文字列の内容です｡
‫trueの場合､ tempをdefしたい｡
‫その欄を変えたいのです｡
‫では､ ここでカラム名をご覧ください｡
‫そこで､ そのカラム名にアクセスしたいのです｡
‫コンテンツと同等に設定したい｡
‫そこで､ 列名はそのままに､ 内容をas type categoryに変更するように書きます｡
‫スペルを間違えないようにしないと｡
‫ドット猫｡
‫注文通り｡
‫あらら､ そうなんですか｡
‫ここで何が起こっているのか？
‫さて､ 見てみましょうか｡
‫どうなるんだろう？
‫うーん｡
‫多くの列を通過しなければならないので少し時間がかかるかもしれませんが､
‫次のジュピターセルをプリロードするつもりですね？
‫この美しいDFのテンプレドット情報を汲んでいるからです｡
‫こちらもご覧ください｡
‫どうしたんですか？
‫私たちは何を変えたのか？
‫こっちで何かヒントを出しますよ｡
‫まあ､ こんなものでしょう｡
‫つまり､ 今まではこれらが物体だったんですよ？
‫昔は弦楽器だったんですよ｡
‫今度はカテゴリーに変更しました｡
‫うーん｡
‫なるほど､ それは面白いですね｡
‫これはどういうことでしょうか？
‫まあね｡
‫嗚呼｡
‫ここが見どころです｡
‫データフレームがすべて数値であることを確認するため､ 機械学習モデルに文字列を渡すことができないことを思い出してください｡
‫これがDFのテンプレなんですね｡
‫以前チェックしたのはどれだったか､ 確認してみましょう｡
‫国だったのでしょうか？
‫美しい｡
‫それを確認しよう｡
‫だから､ def temp dot state not cat categories.
‫素晴らしい｡
‫オールド・フェイスフル・ワイオミングがあります｡
‫ワイオミング州をはじめ､ どこの州でも､ どこの国でも､ 正直言って､ これはインターネット上の話ですから､
‫大声で叫んでください｡
‫わかりました｡
‫だから､ ここにはカテゴリーがあるんです｡
‫そして､ これは状態値のカウントを行ったときのことを思い出すために行うものです｡
‫これをやった時を覚えていますか？
‫ここで紹介したことを思い出しながら､ これらすべてに目を通すと､ かなり多くのことがわかります｡
‫それなら､ 注文通りに説明するのが筋だろう｡
‫これらは現在注文中です｡
‫アルファベットの様子をご覧ください｡
‫アイアイアイ
‫アイアイエエエエエエエエエエエエエエエエエエエエエエエエエエエ
‫ほらね｡
‫大丈夫です｡
‫そして､ beがない｡
‫これらはここで順番が決まっているわけではなく､ 値数の多い順に並んでいます｡
‫しかし､ 本質的には､ 文字列からカテゴリーに変わったということです｡
‫これは､ これを呼び出したときに割り当てるということですね｡
‫各カテゴリーに数値が割り当てられるんだ｡
‫だから､ 今見ると､ あまり意味がないんですね｡
‫なぜなら､ これらはまだ文字列のように見えるからです｡
‫しかし､ その裏側では､ pandasはこれらを数値として扱っています｡
‫だから､ アラバマが1､ アラスカが2､ アリゾナが3かもしれない｡
‫そして､ def temp, dot state dot cat four categoryで確認することができます｡
‫そこで､ 猫にアクセスする｡
‫日付を使って時刻にアクセスする方法を覚えていますか？
‫さて､ 今度はカテゴリーのバーコードにアクセスします｡
‫さて､ これでデータフレームにアクセスする方法ができました｡
‫少なくとも､ すべての文字列の値は正しい｡
‫というのも､ ここではデータフレームをループして､ 文字列かそうでないかを判断しているのです｡
‫そして､ そのデータ型をカテゴリーに変更し､ 順序を与えました｡
‫これで､ すべてのカテゴリーが揃い､ その数値にアクセスすることができるようになりました｡
‫誰？
‫そうではなく
‫ね､ 手をこすり合わせているんです｡
‫本当に興奮しているので､ 聞こえないかもしれませんね｡
‫しかし､ データに数値でアクセスする方法があっても､ 欠測値が大量に発生します｡
‫では､ 書いてみましょう｡
‫感謝を捧げよう｡
‫だから､ パンダに感謝です｡
‫カテゴリー
‫私たちは今､ すべてのデータに数値という形でアクセスする方法を手に入れたのです｡
‫美しい｡
‫でも､ まだ足りないデータがたくさんあるんです｡
‫そのチェックを見てみましょう｡
‫データの欠落｡
‫だから､ DF temp dotが今あるんです｡
‫手に入れた
‫さて､ ここでいくつかの比率を確認しておこう｡
‫そうですね｡
‫そこで､ dataframeの長さで割ってみましょう｡
‫この列はすべてゼロなので､ 9つの驚くべき値を持っています｡
‫なるほど､ そこまでの欠損はありませんが､ 使用率バンドは80％の欠損があります｡
‫85%データ欠損 81%データ欠損 52%.
‫だから､ 93のすべての......いいね､ 何かが起こっているのかもしれないね｡
‫おそらく､ そうせざるを得ないでしょう｡
‫もし､ これがクライアントと一緒に取り組んでいる野良猫のデータセットだったら､ もしかしたら聞いてみるかもしれませんね｡
‫しかし､ Kaggleのものなので､ このデータセットで主題となる専門家にアクセスするのは､ おそらくかなり難しいでしょう｡
‫このように､ もう少し探っていくかもしれませんが､ 私たちは機械学習モデルを構築するという使命を担っています｡
‫そこで､ 次にやるべきことは､ この欠損値を埋めることかもしれません｡
‫しかし､ その前に､ DFのテンプレに変更を加えたので､ 新しいCSVに保存しておくと､ できるようになります｡
‫もし､ このノートブックを最初から始めるとしたら､ 操作したデータフレームをインポートして､ 今いるところから正確に始めることができます｡
‫そのため､ プリプロセスデータを保存します｡
‫そして､ 現在の一時的なデータフレームをエクスポートして､ diff tempをCSVに変換し､ データフォルダに戻します｡
‫だから青本｡
‫ブルドーザーのためのプレイブック｡
‫そして､ CSBではなく､ 電車の臨時列車というような簡単な呼び方にするつもりです｡
‫美しい｡
‫イコールfalseをインデックスさせたい｡
‫そうでないと､ 再インポートしたときにおかしなことになりますから｡
‫そして､ 輸入するのです｡
‫加工前のデータです｡
‫そして今､ どのようなステージにいても､ これを行うことができるのですね｡
‫テンポラリーデータフレームに何らかの変更を加えた場合｡
‫思い立ったが吉日とばかりに､ 今､ 実行することにしました｡
‫どんなステージでもいいんです｡
‫もし､ いくつかのカラムを更新したり､ フィーチャーエンジニアリングを行ったりした場合は､ そのようにエクスポートして再インポートすることができます｡
‫後日のセッションで戻ってくる場合は､ 再度変更する必要はありません｡
‫ノートは上から走らなくてもいいんです｡
‫ここから実行すればいいんだよ｡
‫あ､ いや､ 今､ ファイルに書き出しました｡
‫ダニエル､ さあ､ 今すぐ読みたいんだ｡
‫8ページ目
‫とてもというか｡
‫これでうまくいくはずです｡
‫逆輸入するべきだ｡
‫そして､ def temp headを使用する場合は､ 現在作業しているのと全く同じデータフレームを使用する必要があります｡
‫素晴らしい｡
‫そこで､ もう一度､ 欠損値を多く抱えていることを思い出してみましょう｡
‫美しい｡
‫DataFrameにエクスポートして再インポートしたからといって､ 欠損値が処理されたわけではありません｡
‫だから､ そういうことになるのでしょう｡
‫さて､ 次のビデオでは､ データを機械学習モデル用に準備するために､
‫欠損値を埋める作業を開始します｡