新規記事の投稿を行うことで、非表示にすることが可能です。
2019年11月06日
【まとめ】 Udemyで学ぶ!実践 Python データサイエンス
Udemy講座、"世界で5万人が受講】実践 Python データサイエンス"の受講を完了したので最初に立てた目標の達成具合、自己評価や、コースをやり終えての感想をまとめる。
目次
1、受講前のゴールイメージとスケジュールの確認2、講義に関して
3、感想
受講前のゴールイメージとスケジュールの確認
■受講前のゴールイメージの確認
・python,numpy,pandasを使って配列を使った数値計算、データ解析が自由にできる △
→"自由に”というところまでは習熟できてない。
もっと実戦でいろいろなデータ解析をして経験を積む必要あり
・matplotlibとseabornを使って美しいデータの可視化ができる 〇
・機械学習の基礎知識を復習して、その説明ができる 〇
・実際のデータを解析する方法論を学び、データ解析ができる 〇
・統計の基礎の復習を行い、データ解析の際に活用できる 〇
■スケジュールの確認
- 15日程度で完了するつもりで受講をする。→12日で完了
大体、平日5%, 休日10%を目標に進めた。前半のpandasのデータ処理のあたりが最も進みが悪く、難航したが、後半は追い込みをかけることができて一気に完了することができた。
■講義に関して
・良かった点
・実際のデータ解析を視覚化を行いながら進める手法を学べた。
・様々な機械学習やそのライブラリであるsklearnについて学べた。
・データ解析の主要なライブラリであるnumpy,pandasとそれを使った処理に関して学べた。
・動画再生後、お手本のnotebookファイルを見ながらコーディングするやり方が、非常に時間的に効率的であった。
・データ解析を自由にできるまではさらに自分で修業が必要と思う。今回学んだ手法を活用して自分で進める自信はついた。
・難しかった点:
・平日の勉強が仕事が多忙だったため、つらかった。
■感想
・前半は知識をつけるような構成であったので、途中から頭がパンクしてしまった。しかしながら、後半の実践データ解析と機械学習はリアルなデータを使っての学習で非常に面白くためになった。さすが、5万人が学んだとあって、非常に満足感があった。
・動画の講義だけでなく、周辺の知識の関連リンクが理解を深めるにあたり、非常に有益であった。今までは動画メインでリンクにまで目が行き届いていないことがあったので、今後はこの部分にもしっかり目を通して1つ1つの講座を有益に活用出来たらと思う。
・実践形式でのデータ解析に加えて、やはり、視覚化というのが講座を楽しく、深く理解する上でのキーであったと思う。seabornによる視覚化により、新たな問いが思いつき、いろいろな試行錯誤の行ったり、というのも非常に楽しかった。
・(おまけ)新PCに乗り換えて受講自体も早く進んだと思う。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
2019年11月05日
【12日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 100%
受講完了。
最後は面白くて一気に勉強できた!
視覚化しながらデータを把握し、最終的に機械学習を行うのが面白い。
■セクション10:機械学習(続き)
線形回帰に続き、さまざま、機械学習のアルゴリズムに関してその数学的な背景や考え方を学ぶ。そして、解析対象のデータの概要をseabornなどの視覚化を駆使しながら把握する。これを踏まえて、実際に手を動かして、分類や回帰の処理をsklearnを使って実施し、最後に結果を評価を行う。
・ロジスティクス回帰
0,1になるような判定を行う回帰のこと。ジグモイド曲線を使った機械学習を行う。sklearnを使った機械学習はとても簡単にコーディングが終わるので進みが早い。
ウィキペディアのロジスティック回帰の説明
・K近傍法
ロジスティック回帰を使った多クラスの分類とK近傍法を学ぶ。ロジスティック回帰を使った方法はほぼ、sklearnを使って2値の判定と同様に簡単にできる。
K近傍法は分類対象のデータの周囲のK個のデータを見て、分類を決める方法だ。
ウィキペディアのK近傍法の説明
・サポートベクターマシン(SVM)
サンプル群の分類を直線的にできるように空間変換をかけた状態で分類を行う方法。
ウィキペディアのサポートベクターマシン(SVM)の説明
・ナイーブベイズ分類
分類をするそれぞれのクラスに属する確率を計算し最も高いものに割当てる。
ウィキペディアのナイーブベイズ分類の説明
・決定木とランダムフォレスト
ランダムに選んだデータで決定木を使うことにより、汎用的に適用できる方法となっている。分類をしたり、回帰にも使用可能。
ウィキペディアの決定木とランダムフォレストの説明
これにてセクション10を完了し、本講座は受講完了となった。
■次は
まとめをして、次の講座をスタート!
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
2019年11月04日
【11日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 90%
楽しく進めることができた。
実際に手を動かしながら、データの解析を行っていくのが楽しい!
前半で習ったことが実際の解析でどう活用するかがわかり、ためになる。
また、データ解析の過程の中で新たに見えてくる発見や、レクチャー以外の疑問が出てきて、習ったことを活用しながら、寄り道的にいろいろ試すのも楽しい。
■セクション9:実践データ解析
・タイタニック
データ解析では有名なデータ。タイタニック号の沈没の際の乗客のデータで生き残った人の推定を機械学習で行ったりするのによく使われるデータである。
始めに問いを立ててそれにこたえる形で講義が進むのがわかりやすく、終わった後に達成感がある。まず、decribeやinfoを使って、データの概要をつかみつつ、層別(hue)を多用しながら、解析を進める。性別、客室グレードなど複数のデータを比較しながら調べたいものに有効だ。
seabornで様々な視覚化を行いながら、詳細を明らかにしていく。countplot, FacetGridなど各図の実際のデータでの使用場面が学べてためになる。
・株式市場
普段から株式の取引をしているわけでないのであまりなじみがなかったが特に問題なし。
最新の株価データを取得して比較やリスク予測などの計算を行う。10日、20日、50日の移動平均線が簡単に描けるのが便利。pairplotで総当たりで相関を見れるのが使えそう。
DataReaderやrolling_meanなど、モジュールのインストール方法やメソッドの場所が最新版と異なるが、すぐにQAを見て簡単に解消が可能。
・選挙とデータ解析
選挙の支持率の推移と寄付金の額の推移を調べる。これまた、ほとんど興味はないが特に問題なし。やれば楽しく進めれる。
解析を進める上で、関係ない情報を排除しながら、注目すべきデータの視覚化を行っていくところが参考になる。
これにて、セクション9完了。
■セクション10:機械学習
・線形回帰
もっとも簡単な機械学習、Bostonの住宅価格のデータを使って学習を行う。sklearnはopencvや、pysparkでも使用したのでスムーズに進めれている。
■次は
セクション10:機械学習を完了させ、受講を完了する。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:seaborn
2019年11月03日
【10日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 70%
想定外によく進んだ。
新PCのキーボードに関しては、新しいキーボードの購入も考えたが、結局、なれている旧PCのキーボードを使うことにした。
■講義の受講のしかたの変更
下記のように、先に講義を聞いてからコーディングをするスタイルに変更した。これにより、全体像のイメージをもって、コーディングを行えるので理解が深まるし、頻繁な動画の停止や再生がないので集中して講義を視聴できていると思う。
1、講義動画2倍速視聴
2、ノートブックの手本を見ながらコーディング
3、気になる所をWebで調べる、
なお、講義動画は2倍速なので、十分理解できてないと思ったら、2度、3度見るようにした。
コーディングの内容のサマリを作っていたが、時間がかかるので、いったん中止してみる。
手本のノートブックにもコメントが入っているので、それでOKとした。
■セクション8:データの可視化
このセクションでは、主にseabornを使ったデータの可視化を学ぶ。いろいろな図が簡単にかけて便利である。やはり、視覚化を行うとデータに対する理解が深まってよい。
作成できる図のサンプル一覧
・カーネル密度推定
サラッと確認してコードを書くことはしなかった。結局、ライブラリの関数を呼べばできるとのことだったため。
・ボックスプロットとバイオリンプロット
ボックスプロットの中の分布の状態もわかるのバイオリンプロットがすごい。
バイオリンプロットのサンプル
・ヒートマップとクラスターマップ
類似のものを並べて階層がわかるようにできるクラスターマップの機能が面白い。
ヒートマップのサンプル
クラスターマップのサンプル
■セクション12:付録B:統計入門
1つ1つの講義のタイトルが難しい感じだが、実際に講義動画を見るととても易しく解説されていて、問題なく説明を理解できた。難しい式も出ては来るが、結局、どういう概念なのかをわかりやすく説明してくれるので、非常にわかりやすかった。
このセクションはコーディング量は少ない。知識の勉強になっている。
レクチャー92で使われているcomb関数は最新版ではモジュールの場所が移動しているので、misc->specialと書き換える必要あり。
■次は
ようやく、セクション9:実践データ解析に入る。このセクションと次の機械学習のセクションがこの講座のコアだと思う。セクション8でも一部、テストデータを用いたデータ解析をして、面白かったので、期待が持てる。
■おまけ
新PCが来て環境も新しくなったということで新たに今後の受講予定リストに仮想PCを使った講義を追加した。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:seaborn
2019年11月02日
【9日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 54%
進みが全体的に良くないので予定通り終わるか分からなくなってきたが、3連休で挽回したいところ。
新しいPCも来て、スピードアップしたいところだが、新PCのキーボードが打ちにくくスピードがアップできてない。
■セクション7:データ解析の基礎 その3
このセクションではデータをグループとしてまとめて処理したり、データをひとまとめにして、最大、最小値を求めたりのアグリゲーションを学ぶ。
そろそろ、ソースの手入力もそろそろ限界を感じてきたので、urlとか入力のDataFrameなどのを作成する場合は、予め用意されているnotebookをコピペさせてもらうようにして、進めるようにした。
Groupby
データをグループとしてまとめて処理を行う方法。すでに頭がパンク状態であるので、そんなことができるんだ、ふーん、といった感じで進める。きっとそのうち、必要になったらまた勉強するでしょう。
データのアグリゲーション他
実際のデータを用いた解析が始まり、面白くなってきた。
アグリゲーションはsqlの勉強の際もやったcountとかmaxの組み込み関数的な感じだが、自分でもかってに関数を作れる。
describe()の結果が、講義動画と違うが、stack関数を呼ぶと大体同じになる。また、sort関数でエラーが出るが、最新ではsort関数はsort_values関数になっているとのことで、そちらを使えば問題解消。
最後のクロス集計表もサラッと終わらせて、これにてセクション7は完了。
■次は
セクション8:データの可視化を進める。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:pandas
2019年11月01日
【8日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 49%
何とか進めている。
次から次へと新しい機能が説明され、頭がパンク状態である。
これらの機能を手足のように使いこなすのにはこの講義を受講後にも時間がかかりそうだ。。。
■セクション6:データ解析の基礎 その2(残り)
DataFrameのインデックス変更や、ビニング、外れ値の扱いとPermutationを行う。ビニングは聞きなれない言葉だが、データをヒストグラムに整理する際にそれぞれのクラスに分けるための処理だ。
外れ値の扱いは所定の範囲外の数字を見つけて丸める方法を学ぶ。
Permutationはランダム試行のシミューレーションを行う際などに使う。
これにてセクション6を完了した。
■セクション7:データ解析の基礎 その3
このセクションではデータをグループとしてまとめて処理したり、データをひとまとめにして、最大、最小値を求めたりのするアグリゲーション処理を学ぶ。
■次は
セクション7:データ解析の基礎 その3を完了させる。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:pandas
2019年10月31日
【7日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 45%
粛々と進めている。今回の講義は1つ1つが短く比較的短時間に終わった。
■セクション6:データ解析の基礎 その2(つづき)
DataFrame, Seriesの変換が、インデックスなどを指定して簡単にできる。違う切り口としてピボットテーブルのさわりを学んだ。また、重複データの検出や削除とマッピングによるデータ追加やデータの置換に関して学んだ。■次は
セクション6:データ解析の基礎 その2を完了させる。
新しいPCがようやく来るのでそのセットアップと環境意向を行う。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:pandas
2019年10月30日
【6日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 40%
疲れで睡眠量多めだが、少しずつ進めている。
そろそろ、新しいPCが来る頃。来たら、そのセットアップを行い、すぐに移行したい。
■セクション6:データ解析の基礎 その2
このセクションでは、データのマージ、ピボットテーブルなどを勉強する。
array, Series, DataFrameを水平方向、垂直方向、取捨選択するデータなどの様々な設定でマージを行う。また、マージの際のNanデータに対する処理に関しても学ぶ。
array, Series, DataFrameの生成やaxis指定に関しては何度もやっているので、いい加減慣れてきた。
SQLのマージ機能とやっていることは似ているが、多層構造のインデックスに対するマージなど非常にいろいろなことができて知って使いこなせていれば仕事際に便利に使えそうだ。
■次は
セクション6:データ解析の基礎 その2を続ける。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
タグ:pandas
2019年10月29日
【5日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 36%
何とか進めている。
■セクション4:Pandas入門
インデックスの階層構造の部分。インデックスやカラムのリストを多重にすることにより、多重階層のSeries, DataFrameが可能になる。そして、その階層構造の変更も簡単にできる。
これは便利。
■セクション5:データ解析の基礎 その1
このセクションではcsv, json,html, excel形式などの様々なフォーマットのファイルからデータを読み込む方法を勉強する。
このセクションはファイルの読み込みなので簡単に終了した。
■次は
セクション6:データ解析の基礎 その2、データのマージ、ピボットテーブルなどに続く
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング
2019年10月28日
【4日目】Udemy講座で学ぶ!実践 Python データサイエンス
進捗 30%
失速。疲れか、やたらと週末寝てしまった。
■セクション4:Pandas入門
統計量の一括計算、describe。
ん、これはやった気がする。pysparkのところで多用した気がする。
Pandas, pyspark共にDataFrameがある。位置づけ的には同じ感じだ。
微妙にmethodやできることは違うようだ。
今度調べてみたい。
欠損値の取り扱いに関して。削除したり、指定した値で埋めたりすることができる。この辺りは、実際のデータ解析でもプレ処理のデータクレンジングの際に使いそうだ。地味に面白い。
■次は
セクション4:Pandas入門のつづきを学ぶ。
このコースへのリンク
【世界で5万人が受講】実践 Python データサイエンス
全般ランキング