【Python入門】iPad×Kaggleで手軽な学習環境を創る

Python・GAS
ワタシ

今回はiPadを利用した“データ分析の勉強方法”について理解を深めます。

データ分析を進めていくと、気になってくるのがKaggleという存在ではないでしょうか。

Kaggleというサイトに世界中のすげぇサイエンティストが腕試しに集まっているらしい…いずれ自分も…

と夢を見つつも恐れおののく人も一定数いるのではないかと思います。(代表例=私)

ただ、このKaggleは私のような初心者用の使い方も存在するようで、かつiPadがあると手軽な勉強環境として使えそうなので備忘録的にまとめます。

合わせて確認したい記事

Pythonを時短で基礎から応用まで一気に学びたい時はこちらもオススメ!
>>【Python】TechAcademyを実際に使ってみて学べたこと

今回の論点整理

”Kaggle“の使いドコ

Kaggleはデータコンペの世界クラスのもので参加となるとハードルはありますが、実はフリーデータ・コード例などもあり、初心者用素材としても素晴らしいです。

今回は以下のようにiPadを介してデータ・コードを読み込み勉強材料にしてみます。

ほとんどありものを動かしているだけなのに、さも自分で書いているような高揚感がもてて非常に気持ちいいです。

そして、実際に手を動かしながら興味のあるデータの考察やコードの解析などもできるのでとても勉強になります。

具体的な想定場面

今回の想定は以下の通りです。

架空事例
想定:プログラミングの勉強をはじめたが時間がなくすきま時間を活用したい
状況:メインPCは持ち運べない、でも仕事帰りにサクッと勉強をしたい
意図:iPadを元にプログラミング環境を作り、仕事の終わりや移動時間を活用する

このような時、「iPad×Kaggle」といった組み合わせの考え方が使えるのだと思います。

以下はこの知識を使う際に思い出すべき点を、後で振り返れるようにポイントを絞って備忘録としてまとめます。

今回の抑えドコ

そこで、今回は上記を実現する手順について下記に備忘録的にまとめたいと思います。

抑えドコ!
  • 今回の焦点
    データサイエンスを自主学習する環境に関して
    (想定場面:外出時の隙間時間を利用したいという状況)
  • ポイント
    ▷Kaggleとは何か
    ▷iPadでの活用(juno)
    ▷Google Colabaratoryとは

”iPad×Kaggle”活用のポイント

ポイント① Kagglとは

まずKaggleについてです。これは一体なんでしょうか。

かぐる…?ぐぐるの親戚…?

こんな認識のワタシでしたが、データサイエンス業界においては当たり前中の当たり前でサッカーにおけるワールドカップ的な位置づけのものだとわかりました。

いわば、統計界における天下一武道会的な位置づけのコンペです。この概要や登録の仕方などは調べれば腐るほど紹介ページが出てきます。

■ご参考リンク(外部リンクに飛びます)

当然、コンペと聞けば…

いやいや、そんなの10年先でしょ

という風に感じますが、実はこのサイトがイケているのはコンペに出る以外の初心者用の別用途があります。

これは何かというと

コードやデータセットが一部無料公開されている

そうなんです。スゲェ人たちのコードやデータを無料で見ていじくれるのです!(終わったコンペのものなど)

そのため、自由研究用の『データセットが無料でわんさか手に入る』という点がめちゃくちゃでかいのです!

しかもコンペで皆が出したコードもクリックするとjupyter notebookの形式でみれるのでPCでもiPadでもすぐに見て実行できます(後述)

ポイント② iPadでの活用 (Juno)

さて、上記でサラッと

iPadでも見て実行できる

と言いましたが、これは当然アプリが必要です。

Pythonを書くアプリは色々ありますが、pandasや統計・計算用のライブラリを利用することを考えるとjunoというアプリがお勧めです。

使い方は以前記載しています。

【Python入門】WindowsとiPadの両方でPythonの環境を構築する

これでKaggleのコードを参照することはできます。

ただ、一点問題が発生します。

データをiPadにダウンロードし次はまずはAzureのnotebookでアップロード…と思ったところ。。

画像2

『アップロード制限があった!!orz』

何かというとkaggleで使われるデータは当然大容量のデータなので、コードが読み込めたとしても完全のデータをダウンロード・アップロードで積みます。

他のやり方も試みるも100Mbiteまでが限界のようです。色々調べた結果、こういう迂回経路(Azure Blob Storage)をとるしかなさそうです。

■ご参考リンク(外部リンクに飛びます)

同じAzure系のストレージサービスに登録を行い、そこを起点にファイルを格納したり、引き出したりという指示をpython上で出すというものです。

(上記は管理者登録してTweetデータをAPIを参照して引き出すのと構造は似ています)

【Python入門】Twitterデータでテキストマイニング(APIの利用)

ここをクリアしてはじめて、kaggleデータで遊ぶ環境になりそうですが、設定や登録が面倒です。。(junoでサーバーを立てるという方法もあります)

ポイント③Google Colabaratoryの活用 

そこで今回、お勧めしたいのが、このGoogle ColabaratoryといわれるGoogle大先生のクラウド上のソフトです。

これは何かというと、Googleさんが創った、オンライン上で機械学習を回すことが出来るソフトです。jupyter notebookとUIは似てます。

で、これ、何がすごいかというと

クラウド上の処理なのでマシーンスペックに依存しない

という点です。つまりiPadであってもできちゃうというわけです。しかもさらにポイントがでかいのが

Google driveにマウントできるが出来る

という点です。そのため、iPadを介したダウンロードアップロードで苦戦することが少ないのです。

そのため、こいつをうまく使いこなせば、iPadで学習環境を創るのは割と楽にできます。

これも概要はググると腐るほどでます。

■ご参考リンク(外部リンクに飛びます)

余談ですが、自分のとった写真などをアップしていたらまさにそれを材料にディープラーニングを利用した分類わけを実験するなども出来そうですね。

詳細は至るところで使い方が出ています。

■ご参考リンク(外部リンクに飛びます)

まとめ 

上記を活用する際に、理解しておくべきポイントは以下3点

今回の抑えドコ
  • ポイント①:Kagglとは
     ▷世界一のコンペサイト、フリーで落とせるデータセットやコード多数
  • ポイント②:iPadでの活用 (Juno)
     ▷アプリによってjupyter notebookをPC感覚で使えるデータセットの扱いだけ難あり
  • ポイント③:Google Colabaratoryの活用 
     ▷クラウド上のコード処理が出来る優れものiPad環境でも出来る

上記は自分のiPad Pro(初期)で出来ました。これで、平日仕事帰りにカバンに忍ばせたiPadをもとにカフェで少し勉強してから帰ろうなどという時などもできます。

また、少し先になりそうですが、子供とのプログラミングの勉強などにもiPadは大活躍してくれそうですね。

既にiPadをもっていてPythonを学び始めた!という人は上記の組み合わせとオープンデータをうまく使って自らの勉強環境を創ることを強くオススメします。

ご精読頂きありがとうございました。
m(_ _)m

その他、Python初心者のお勉強のお供

上記の内容と併せて実務で活かすという視点では下記の参考図書も合わせて確認すると理解が深まります(-_-)

created by Rinker
¥2,138 (2021/08/03 02:50:40時点 Amazon調べ-詳細)

その他、Python初心者が抑えたいポイント集

Python(主にデータ分析・自動化)に関しては下記のポイントを抑えると実務力につながっていきますので合わせてご参照下さい(‘ω’)ノ

ーPythonのインストール、データ読み込み、各種分析を試すー

【Python入門】WindowsとiPad両方でプログラミング環境を整える

【Python入門】エクセルファイルの読み込み方法

【Python入門】エクセルの”ピボットテーブル”をプログラムする

【Python入門】データ分析の”ビジュアル化”で抑えるべきライブラリとは

【Python入門】回帰分析や分類問題が使えるsklearnの使い方

【Python入門】顧客データを読み込みクラスタリング・ペルソナ分析

【Python入門】画像データを元にディープラーニングで自動判別(CNN等)

【Python入門】WEB上のデータを抽出してテキストマイニング(スクレイピング)

【Python入門】Twitterデータでテキストマイニング(APIの利用)

【Python入門】機械に自動でモデル選定させる(AutoML活用)

【Python入門】iPad×Kaggleで手軽な学習環境を創る

【Python入門】iPad×Google Colabalatoryで手軽にtwitter分析

ーPythonを使ってExcelを扱う “openpyxl”の活用ー

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる①

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる②

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる③

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる④

【Python初心者】Python×効率化 社内のexcel作業の自動化を試みる⑤

合わせて確認したい記事

Pythonを時短で基礎から応用まで一気に学びたい時はこちらもオススメ!
>>【Python】TechAcademyを実際に使ってみて学べたこと