‫なるほど｡
‫このように､ ノートブックを少し整理することで､ どのようなステップを踏んでいるか､ どのような問題を解決しようとしているか､
‫どこからデータが来るのかがわかります｡
‫評価指標も特徴もわかっている｡
‫データをインポートして､ さっそく始めてみましょう｡
‫なので､ 私の場合､ Dataというフォルダにインポートしています｡
‫同じフォルダを作成したことがあるかもしれません｡
‫だから､ ファイルパスを書くとき､ あなたのファイルパスと私のファイルパスは違うかもしれませんが､ 私のはdataという名前になります｡
‫トレーニングセットと検証セットをインポートします｡
‫なぜ同時にインポートするのか不思議に思われるかもしれませんが､
‫次回のビデオで明らかにします｡
‫確かに｡
‫これでよしとしよう｡
‫そこで､ csvの学習と検証を行いたいと思います｡
‫素晴らしい｡
‫シフトとエンターキーを押すんです｡
‫さて､ すぐにわかるように､ これはかなり大きなデータセットなので､ しばらく時間がかかるかもしれません｡
‫警告が出ました｡
‫ここに何があるのか？
‫Dタイプの警告欄｡
‫1339 4041はタイプが混在している｡
‫インポート時に指定されたタイプオプション､ またはローメモリーイコールfalseに設定されています｡
‫そこで､ ここで､ low memory equals falseを設定すれば､ この警告を取り除くことができます｡
‫つまり､ これは本質的に､ pandasがCSVを読むとき､ この関数がインスタンス化されるとき､ データフレームがRAMに住んでいるので､
‫データセットの大きさに応じて､ Pandasは占めるスペースを最小限にしようとする､ ということを意味しています｡
‫つまり､ ローメモリを「false」に設定することで､ 「スペースを最小限にしようとしているのはわかるけど､ そんなに心配することはないよ」とアピールしているのです｡
‫ラムスペースは十分にあります｡
‫だから､ これでうまくいくはずです｡
‫その警告を消すことができるはずです｡
‫素晴らしい｡
‫だからこれは､ ただ言っているだけなんです｡
‫試しに好きなように保存して､ 取り込んでみてください｡
‫使用するスペースを最小限に抑えようとしないことです｡
‫素晴らしい｡
‫そして､ まず最初にすることは､ 何が起こっているのかを少しでも知るために､ 情報を得ることでしょう｡
‫そうそう､ そうなんです｡
‫見てもらうことができます｡
‫これまで扱ったデータセットの中では､ かなり大きなものです｡
‫412,698行になりました｡
‫これは行数にして53列の多さです｡
‫覚えておいてください｡
‫列を見ると､ これが変数と説明になっています｡
‫だから､ セールスIDはあったほうがいい｡
‫はい､ これは非 null 整数のマシン ID で､ 特定のマシンの識別子です｡
‫マシンは複数回販売される可能性があるため､ 1つのマシンがその期間中に複数回販売される可能性があることを意味します｡
‫それから､ 販売価格とは別に時系列なので最も注目してほしいのが､ 「騰落率」です｡
‫私たちの機械がいくらで売れたかは､ 販売日の話です｡
‫つまり､ 機械が売れたときです｡
‫そこで､ この販売時期について見てみることにした｡
‫販売時期
‫美しい｡
‫さて､ ではどうすればいいのでしょうか？
‫販売日は日付なので､ やりたいことは日付として渡すことかもしれません｡
‫でも､ まだそれはしません｡ 何かを実証したいからです｡
‫そこで､ プロットを設定します｡ これは､ 最初に始めるときに通常行うことです｡
‫どんなプロジェクトでも､ ビジュアライゼーションに挑戦しています｡
‫これを見ると､ いろいろなことが起こっていますね｡
‫これを見るだけでもいいような｡
‫これは､ 私のように単語や数字のリストを見て､ 「ああ､ 私は物事を視覚化する必要があるんだ」と思うだけでは､
‫なかなか推論できないものです｡
‫いろいろ見てみたいんです｡
‫しかし､ ここから何が見えてくるのか､ 実際に見えてきます｡
‫というわけで､ 412,698件の応募がありました｡
‫これらは非NULLです｡
‫特に使用帯域が何であれ､ 欠損値があることがわかります｡
‫そこで､ データディクショナリーの使用帯域を低､ 中､ 高に設定し､ この機械の販売時間をフィーベースモデルの平均使用時間と比較することにしました｡
‫だから､ 料金制のものは本当に別の機能なんです｡
‫これでよしとしよう｡
‫この料金モデル説明の集計､ はるか彼方｡
‫ここでは､ ブルドーザーに関する情報を公平にお伝えしています｡
‫そうですね｡
‫だから､ これは実はかなりいいデータなんです｡
‫しかし､ 使用率バンドについては､ 非NULLのオブジェクトが73,670個しかないため､ 欠損値がかなり少ないと言えるでしょう｡
‫つまり､ その欠損値を差し引くと412,698個になるわけです｡
‫そして､ プロットする前に､ 実際にそれを把握することができるのです｡
‫だから､ DFはAだ､ こうやって確認するんだ｡
‫価値観がないのなら
‫これでよしとしよう｡
‫そのため､ Usage Bandには339,028個の欠損値がある｡
‫機械学習モデルについて知っていることは､ モデルを構築する前に気をつけなければならないことです｡
‫でも､ 突き進みましょう｡
‫販売価格を予測しようとしていて､ データが時系列であることが分かっているので､ プロットしてみましょう｡
‫注目したいのは､ 販売日と販売価格を比較するようなことです｡
‫そして､ ここにはたくさんの行があるので､ もしこれをプロットするとしたら､
‫これらのデータポイントをすべて1つのプロットにすることになります｡
‫では､ 1000くらいやってみましょうか｡
‫なぜダメなのか？
‫さあ､ 行こう｡
‫発売日
‫ここに行って､ 最初の1000個をやるんだ｡
‫どうですか？
‫かなり大きな数字ですね｡
‫セールプライスをしたい｡
‫また､ さまざまな列の名前を調べて覚えたい場合は､ いつでもコラムをどうぞ｡
‫ここでやっていることは､ 販売日､ それがどこであれ､ 販売日､ 日付を取得し､ データディクショナリに来た場合､
‫これを参照することです｡
‫だから､ 販売時期､ つまり販売価格だけでなく､ 販売された日付も必要なのです｡
‫さて､ これはデータディクショナリーに登録されているのでしょうか？
‫販売価格とは何か､ 実はとてもわかりやすいと思います｡
‫あ､ これだ｡
‫セール､ 価格
‫米ドルでの売上原価｡
‫では､ 確認してみましょう｡
‫いつ販売されたかを確認しましょう｡ X軸に販売日を置き､ Y軸にx､ y､
‫販売価格という散布図になっていることを思い出してください｡
‫では､ 確認してみましょう｡
‫これは何なんだ？
‫あ､ 等号が出ましたね｡
‫まあね｡
‫そこで､ このページでは､ 最初の1,000件の事例について､ 販売開始日を下にしてみました｡
‫このように､ プロットが少しおかしくなっているのは､ DataFrameのDF販売日を見てみると､ ちょうど詰め込もうとしているところです｡
‫最初の1000を見ると､ X軸にプロットしようとしているのがそれです｡
‫これらの値をすべてここに沿ってプロットしようとするので､ バーコードの大きな塊と､
‫黒いテキストの大きな塊にしか見えないのがおわかりいただけると思います｡
‫というのも､ 私たちは常に､ できるだけ多くの変数のデータの広がりである分布をチェックしたいからです｡
‫しかし､ この場合､ なぜセールプライスをしないのでしょうか？
‫なぜなら､ それが私たちのターゲット変数だからです｡
‫だからセール価格｡
‫ここで私がやっていることが構造化されていないように見えるかもしれませんが､ それはデータセットを探索する方法が実にたくさんあるからなのです｡
‫私が気に入っているのは､ DFMの情報チェックで､ NULL値があるかどうかを確認することです｡
‫そのため､ NULLが欠損値として入っていることがわかる｡
‫だから､ 欠損値がいくつあるかがわかるのです｡
‫列を確認します｡
‫これから最も重要なコラムの一つをプロットする｡
‫時系列の問題なので､ 販売日を選択しました｡ 最も重要な列の1つを販売価格またはターゲット列に対してプロットし､
‫次に選択したいくつかの列を分布させます｡
‫これらは､ 私が最初にデータセットを調査する際に行いたいステレオタイプなものです｡
‫しかし､ ここでわかるのは､ 販売価格のほとんどが2万ドル以下であることです｡
‫つまり､ ここでの最大のコラムは､ ほとんどではなく､ 大多数なのです｡
‫大盛りです｡
‫そして､ 3万円を切るものも出てきました｡
‫仮に3万ドル､ 4万ドルとして､ どんどん減っていき､
‫10万ドル以上するものはあまりありません｡
‫そこで見ているのは､ そのようなことです｡
‫よし､ 今だ｡
‫これらの日付は､ 私たちが望むようなフォーマットにはなっていないのです｡
‫そこで､ D型オブジェクトにどのように入っているかを見てみましょう｡
‫時系列を扱う場合､ できるだけ多くの情報を日付にエンコードしておきたいものです｡
‫というわけで､ そういうことになりますね｡
‫私たちにできる､ ちょっとした方法｡
‫これをパッシング・デートといいます｡
‫では､ これがどのような形で日付を通過していくのか､ 見てみましょう｡
‫だから､ 時系列データを扱うときは､ 充実させたいんです｡
‫日時の構成要素をできるだけ多く､ というと､ じゃあ､ どうすればいいんだ､ と思われるかもしれません｡
‫では､ ここに書いておきましょう｡
‫そのためには､ pandasにどのカラムを使用するかを指示します｡
‫日付が入っている｡
‫使っています｡
‫過去の日付のパラメータです｡
‫素晴らしい｡
‫そして､ これは日付を渡すために渡したカラムを日付時間オブジェクトに変換するものです｡
‫では､ まず何がそうなのかを見てみましょう｡
‫日付の時間です｡
‫オブジェクトとパンダ｡
‫ここで得たのはTimestamp 2つの日付時間なので､ いろいろなことが調べられます｡
‫何月何日？
‫ここでの時間は､ 日付の時間です｡
‫オブジェクトタイムスタンプは､ Pythonの日付時刻に相当するパンダのもので､ ほとんどの場合､ 日付時刻と交換することができます｡
‫なるほど｡
‫美しい｡
‫ですから､ 基本的にこれを実行すると､ もう一度データをインポートして､ 今度は日付を渡すようにします｡
‫疑問があれば､ コードを実行することを忘れないでください｡
‫だからPDはCSVを読み込んで､ ブルドーザーのティックのためのデータループブックに行くし､ トレーニングに行くんだ｡
‫無効を試す｡
‫See us v wonderful.
‫でも､ 今回は合格です｡
‫ローメモリは偽に等しいので､ その警告は出ません｡
‫そして､ それを渡す､ 日付を渡す､ そして､ カラム名の販売日を渡す｡
‫なぜ？
‫なぜなら､ そこに私たちのデートがあるからです｡
‫それで､ これが何であるかに注意してください｡
‫つまり､ dateをセイルすると､ D型のオブジェクトになるわけです｡
‫ここにちょっとだけDタイプD､ Oタイプを入れるかもしれません｡
‫では､ こうしてみると､ どんな違いがあるのか見てみましょう｡
‫これで元のデータフレームが上書きされるので､ 次のようになります｡
‫DFCS Sale Date dot D type.
‫あ､ ちょっとファンキーですね｡
‫dfサウダージしたらどうする？
‫どのようなものですか？
‫2000年以降に出航していないのですか？
‫嗚呼｡
‫なるほど｡
‫だから､ ここに来れば｡
‫サウダイトを手に入れた｡
‫こんな感じでご覧ください｡
‫PANDASがやったことは､ 日付を渡すために､ Saouditeカラムの値を全部調べて､
‫このスタイルに変換したことです｡
‫つまり､ 年､ 月､ 日､ そしてデータ型が日付時間であることがわかります｡
‫64とググっていたら
‫この2つを比べてみてください｡ なぜ､ こことここを比べて値が違うのか､ 不思議に思うかもしれません｡
‫NumPyでは､ この二つは等価であることがおわかりいただけるでしょう｡
‫だから､ 私の言葉を信じるしかないのです｡
‫ググれば出てきますよ｡
‫それを証明するために､ 実際にそうするかもしれません｡
‫だから､ ここに行くんです｡
‫コントロールCなので､ どのようなデータ型ですか？
‫これでよしとしよう｡
‫その時間64は一般的なdタイプであるのに対して､ maintainは特定の時間である｡
‫これでよしとしよう｡
‫こちらはStack Overflowです｡
‫これはあくまでワークフローなんですね｡
‫何かを得ることができないとき､ そこに行く｡
‫MP Dタイプ日付時間64イコール空タイプメイト｡
‫それが､ 私たちの目指すところです｡
‫しかし､ 日程が過ぎたので､ 以前と同じプロットをやってみましょう｡
‫つまり､ fig xはplot subplotsに等しい｡
‫素晴らしい｡
‫そして､ まったく同じことをやるだけです｡
‫Xは散らばらない｡
‫このビデオの仕上げは､ 実は急ぎ足で行っているので､ すぐ終わります｡
‫そうですね｡
‫学んでいます｡
‫探索中です｡
‫セール価格､ そしてこちらへ｡
‫1000回やって､ 何が違うように見えるかを確認する｡
‫素晴らしい｡
‫Saudadeカラムがdatetimeオブジェクトのマッププロット形式になっているため､
‫これらをすべて下に配置しようとしているため､ 黒一色になっています｡
‫Libは､ データ型を見て､ それに応じたプロットをインテリジェントに行うことができます｡
‫2005年､ 2008年は､ 金融危機の影響か､
‫あまり売れなかったようです｡
‫だから､ ここではあまり売れなかったんです｡
‫そしてまた､ それは2008年から2009年にかけてのことです｡
‫最も高く売れたのは､ ちょうど2007年であることがわかる｡
‫そして､ 2009年から10年の間の真ん中あたりの売上が多いですね｡
‫でも､ やはりこれだけではあまりわからないですよね？
‫現状を把握したところです｡
‫では､ もう1度見てみましょう｡
‫チェックしてみてください｡
‫聞いていないのですか？
‫これは､ 私たちがお世話になっているデータ会社です｡
‫販売ID､ 販売価格､ 様々なカラムがここにあります｡
‫そして､ 欠測値が大量にあることがわかります｡
‫また､ 足回りのパッド幅の意味をもっと詳しく知りたければ､ データディクショナリーがありますから､ それを思い出してください｡
‫ここで見てみるのもいいかもしれない｡
‫これでよしとしよう｡
‫機械構成､ クローラートレードの幅｡
‫素晴らしい｡
‫それで今､ 少し探りを入れてみたんです｡
‫データフレームを販売日順に並べ替えて､ そこからさらに変更を加えていくかもしれません｡
‫次のビデオでそれをやりますが､ そうでなければ､ データフレームを探索し､ インポートし､
‫販売日と日付を渡すか渡さないかを試して､ 日付を渡す場合と渡さない場合のデータ型の違いをチェックしてみてください｡