pyconjp_tutorial
20200830
Presented by はんなりPython / Pydata Osaka / Pycon mini Hiroshima
仮タイトル
オープンデータを使って、Pythonでデータ分析
世の中の動向を可視化、予測する
やること
データの前処理 (3時間?)
データの可視化 (2時間?)
機械学習 (1時間?)
利用データ
貿易収支
家計調査
境界データと国勢調査
やること
オープンデータをPandas / Geopandasを用いてデータを前処理する
作ったデータをPlotlyとPydeckを使って可視化する
Plotly: 動的な可視化 (貿易収支・家計調査)
Pydeck: 位置データの可視化 (国勢調査)
Dosh / Streamlitを使ってダッシュボードを作る
sklearnを使ってデータを機械学習する
強調したい部分
helpを活用する
ドキュメントを見る
環境
利用予定ライブラリ
pandas
geopandas
plotly
deck.gl
pydeck /
地図の表示にmapboxのAPIが必要
dash
(streamlit / binderでの動作不安)
scikit learn
動作環境
colab
binder
binderでdash / streamlitが動くか試す
利用データ
アカウント取得必要
Google Colab
Mapbox API
具体的な内容
3つのデータをダウンロードして使いたいよう加工する / データの前処理
加工したデータを可視化する。どうなっているか調べる / 可視化
機械学習で予測などのモデルを作成する / 機械学習
流れ(かいせんの想定) ※データごとにセクションが分かれるのかな、と想像
1. 貿易収支のデータの解析 / 詳しく説明しながら
1.1. データの説明
1.2. データの読み込み (pandas)
1.3. データの可視化 (plotly, dash)
(1.4. 機械学習での簡単な予測 - 単回帰、重回帰、LSTM?) (sklearn, keras?, TensorFlow?)
2. 家計調査データの解析 (実はおがわさんがすでに結構資料を作られている)
2.1. データの説明
2.2. データの前処理、読み込み (pandas)
2.3. データの可視化 (plotly, dash)
(2.4. 機械学習でのちょっと複雑な予測 - モデルの探索をちゃんとやる(クラスタリング? pycaret? optuna? GridSearchCV?)) (sklearn, etc?)
3. 統計GISと統計データ
3.1 データの説明
3.2. データの加工、読み込み (geopandas, etc?)
3.3. データの可視化 (pydeck)
(3.4. 機械学習での予測) (sklearn)
(3.5. 予測データの可視化) (pydeck)
※3.4, 3.5は省いて1.4と2.4をやった方がラクかな、と思っています
code: 意見
データごとに分ける方法と、作業ごとに分ける方法がありますね。後者は次のようになりそう。
前処理
可視化
機械学習
どちらが良いか?何度かその工程を振り返れるということで、データごとにやるほうが面白そう
作業時間が長くとれるようにしたい(各自がコードを長く書ける)
それにはどんな教え方が良いかな~と思っています。
最初に1時間くらいでサクッと各工程のツールの使い方を紹介、その後の5時間でデータごとに自由度高いチュートリアルを やるとか?
毎時間ごとにポイントを最初にまとめて(10分くらい)その後作業。最後にshow&tell方式をするとか
20人を4ー5人くらいに分けるということで、5グループあるとするとあと2人いた方がよさそうかなぁ
3.4 / 3.5 はどっちかというと、自分の課題としてやってみたいところがwww
データ 貿易収支 簡単すぎるので
調べる方法
- Documents :
- ググる :
- 間違えながら大丈夫です
- view R / dir() / R Studio / JupyterLab /
概要
日程:8/30(日) 6時間
対象者:Python初心者(ただしプログラミング経験者であることを前提)
Pythonコミュニティの裾野を広げることが目的
申込時のアンケートで属性は把握する予定
4〜5人でチームを組んで作業をお願いする予定
内容:
データ分析の初歩から簡単な機械学習まで
前処理・視覚化を含む
Excelでのデータ分析経験者がいればチームに分散して入れる
ゴール:ちょっと汚い実データを分析し、dashで視覚化できる
何を分析するかはおまかせ
できる限り変化する実データが望ましい
パッケージ:
前処理:Pandas
可視化:plotly / pydeck / dash / streamlit
機械学習:scikit learn
扱うデータは今後検討するが以下の3種類のような感じ
- ちょっと触れば使える
- 処理に工夫が必要
- 上の2つが合わさったサイズが大きめのもの
【ツール類】
現在以下の方向で検討
配信:YouTube Live
コミュニケーション:Discord
Python環境はGoogle ColabかVisual Studio Code
VSCodeの場合はLive Shareを使う
規模:
チュートリアルでTAに教えてもらえるのは20人
Discordにて指導
YouTube Liveのみの人は∞
時間は6時間 (1時間は教示、あと5時間は実習)
休憩時間などの時間配分はお任せ
チケット価格は無料
Discodeに入れる人は抽選
課題
これに向けてdash_pydeck_componentsが作れると嬉しい
ドキュメントを調べる癖をつけたい。全部教えてもらうでなく、調べてできる人を!
情報の調べ方、教え方をどのように? その基本方針は?
PyCon JP チュートリアル 2020 議事録
第1回 MTG 2020年7月6日 21:00 - 22:00
参加者
ogawaさん
nishidaさん
kaisen
議題
当日の流れの確認
処理の全体像に1時間
https://gyazo.com/af699c3e49d7a483629a268b9f65663a
その他を5時間
誰が教える部分を行うか?
データの前処理難度にあわせた時間調整を考える
「1. 貿易収支のデータの解析」で教示
「2. 家計調査データの解析」で実習 (実はおがわさんがすでに結構資料を作られている)
「3. 統計GISと統計データ」でまた教示
「プログラミングの教え方」 (objectの)調べ方 と 便利な使い方を織り交ぜる
「間違っても大丈夫」「間違いながらやろう」という気概を伝える(?) ガッツが大事ですね!
dir() の使い方を教える
magic command も教えるといいかもしれない(基本的な、役立つ、のだけで構わないので)
!シェルコマンド の使い方 (wget データ取得とか)
機械学習どうするのか問題
2章で「クラスタリング」はたしかによさそう
使うデータのライセンスをどのように扱うか解説する
進め方ですが、次のようなやり方もよさそう
課題データについてサンプル的に作業を解説。
それを参考に各データに関して、各グループで考えて作業を行ってもらう。
データをどう処理するか
それをどう可視化するか
そこからどのような知見を得て、どうモデルを作成するか?
第2回 MTG 2020年7月15日 21:00 - 22:00
参加者
ogawaさん
nishidaさん
yoshiokaさん
kaisen
議題
当日の流れの確認
どうやって教えるか
「つまづきながら」がよいのではないか(特にpandas)
機械学習の部分は初学者に投げっぱなしは無理ではないか
地理データについて
データは大阪かどこかに絞ってやる
機械学習パートについて
機械学習ができるデータを用意
各データでどのように機械学習するか?
週1回ミーティング
家計調査パートのデータは下記を使うよう変更するかもしれない
誰がどう教えるか?
(例)
貿易収支: 小川さん
家計調査: 廻船
統計GIS: 西田さん
機械学習: よしおかさん
PyCon JP 2020 公式ウェブサイトに名前、HPリンク先、ロゴを掲載したいのでいただければ
次回までにやること
可視化と前処理はできるのでやってしまう
mapboxにapikeyの共有について問い合わせる
統計JISで扱うデータを決める
地域
データ
第3回 MTG 2020年7月23日 14:00 - 15:30
参加者
ogawaさん
nishidaさん
yoshiokaさん
ohashiさん
kaisen
議題
平成21年全国消費実態調査 (十大費目) ippan_2009zensho.zip 4.9MB 全世帯と勤労者世帯
平成21年全国消費実態調査 (詳細品目) ippan_2009zensho_s.zip 31.5MB 全世帯
就業構造基本調査 (平成4年~24年)...
pandasで(zipの中の)xlsデータを見る方法の紹介 (csvにデータが, xlsに項目の情報が入っている)
ヒストグラムの書き方の紹介
欠損値のチェックの仕方の紹介
...
貿易収支データ
シンプル版はとりあえずチュートリアルには含めない方向
多国版は年単位のデータ
地理(国勢調査)データ
どんなデータを可視化すると面白い? -> 平均年齢のプロット
職業別就業者数に関するデータを使う予定
地区は大阪を使う
誰がどう教えるか?問題
2人で教えるというのもアリかも?
直前に決めても大丈夫ではないかという意見
自分がやったところを各々担当すればよいという意見
課題(issue)やto doはGitHubのissueを使って管理し始めた
次回予定
8月2日(日) 16:00か17:00あたり以降
次回までにやること
GitHubのissueをつぶす (タスクの粒度が粗くなってきている気もしています by かいせん)
第4回 MTG 2020年8月2日 17:00 -
参加者
ogawaさん
nishidaさん
ohashiさん
yoshiokaさん
kaisen
議題
家計データ
3大都市とそれ以外の都市の違いの可視化(アプリ化)
他の特徴料から収入が多い人を見つける?
主成分分析?
貿易収支データ
各国のデータをplotするdashアプリケーションを作成済
複数の国をplotできるようにする
MLはクラスタリング
地理(国勢調査)データ
IDが一意ではないという問題
タスクはGitHubで管理
To Do リストの作成
次回予定
8月8日(土) 14:00