データサイエンス学習帳

Pythonのよく使うライブラリを整理する【超初心者視点】

投稿日:2019年5月3日 更新日:

GW終わってほしくない!りつよ(@riyonica)です~🙆

私は、今年の1月からデータサイエンスの学校に行きはじめて、全く知識ゼロの状態から、今はぼやぼや~っと分かり始めているような…でもまだまだで手探りで勉強している状態です。

リヨニカ学習帳と名乗っているくせに、データサイエンスの勉強のことは全くアウトプットしていない始末でした。
というのも、日々の宿題でいっぱいいっぱいで、復習する時間がなかったんです…(言い訳)。

GWの時間的な余裕をつかって、授業の復習をはじめています👏
本当に基礎の基礎の基礎レベルで需要はないと思うのですが、復習ノートのような感覚で、少しずつ整理したことをアウトプットしていきたいと思っています!

まずは、Pythonでよく使うライブラリを整理したい

Pandas、Numpy、matplotlib…

授業では、演習で使ったもの、いわゆる既にある枠組みに、知りたいデータをぶっこんでいくと、だいたいできるんですよ。
簡単に言うと、代入したらできちゃう
まねっこでできちゃう
やり方は準備されているから。

でも、Kaggleのタイタニックをやったときに、思ったんです。

自分で「これがやりたい!」と思ったところからの→「どのやり方を使えばいいの?」になってしまう、と!
つまり、自分で大枠のやりたい流れがあるにもかかわらず、その1つ1つの手順が全く浮かばない
完全に、「自分のものになっていない」証拠ですよ~

基礎的なところが、とにかくぐらぐらしている
そこで、今日はひとまず、よく使うライブラリの性質どういうときに使うものだったのか、をちゃんと調べて整理したいと思います👏!

具体的には、

  • Numpy
  • Pandas
  • Matplotlib
  • scikit-learn

の4つを整理したいと思います🙌

Numpy

現時点でのりつよ認識「とりあえず絶対importするやつ

  1. Numpyの配列はndarray
  2. ndarrayは、計算が速くて効率的な多次元配列オブジェクト
  3. ある配列の要素と別の配列の要素を計算できる
  4. 配列同士の計算もできる
  5. 線形代数の計算、乱数の作成もNumpy
  6. Pythonの元のデータ構造よりも効率的にデータの操作ができるので、色々なPython計算ツールはNumpyの配列をベースに考えられていることが多い
  7. だから、互換性あるものが多くて、データの箱としても使えるやつ

新りつよ認識と感想

つまり、「計算するもの全般」ってことかな。
6.については、すっごく納得!!!!!!!
授業の中で、データフレームをNumpy配列に変えるみたいなステップがあって、何故???何が違うの??と思っていたけど、そういうことなのネ。

疑問💡

ndarrayの読み方は、「エヌディー・アレイ」で合っているかな…?

Pandas

現時点でのりつよ認識「とりあえず絶対importするやつ2

  1. Pythonをデータ分析ツールたらしめたライブラリ(らしい)
  2. テーブル形式のデータ構造が使える
  3. データフレームはPandasの構造
  4. データフレームは、列指向のデータ構造
  5. データフレームは、1次元の配列であるシリーズ(Series)のかたまり
  6. データの再形成やスライシング、ダイシング、集約、部分集合の選択が可能

疑問💡

スライシングとダイシングって何ぞや。
調べてみた👩‍💻
スライシング:ある次元において、データをスライスして断面をピックアップして2次元のデータにすること
ダイシング:さいころをコロコロするように、次元を変えること。
Excelでいう「行列を入れ替える」みたいな感じかな?

新りつよ認識と感想

データフレームは、Pandasなのね!👏
とりあえず、データを色々とこねくりまわすときは、Pandasってことかしら。
そして、つまりデータフレームってこういうこと?

だから、データフレーム作るとき、列をつくってからくっつけてたのか…(今更)。

Matplotlib

現時点でのりつよ認識「グラフとか描けるやつ

  1. グラフなどの2次元形式の可視化につかうライブラリ
  2. 可視化できるライブラリは他にもあるけど、1番メジャー
  3. だから、色々と連携しやすい

新りつよ認識と感想

認識は合っていた👏🎊🎉
メジャーだけど、他にもライブラリがあるってことなので、matolotlibでできないことがあれば、別のライブラリを使うってことでいいのかな。

疑問💡

ライブラリの認識については、問題なし!
あとは、どういうグラフがつくれるかを深堀りしていかないとですね🤔

scikit-learn

現時点でのりつよ認識「線形回帰モデル作ったときに使ったやつ

  • scikit-learnには、たくさんのサブモジュールがある!
  • 分類、回帰、クラスタリング、次元削減、モデル選択、前処理

新りつよ認識と感想

scikit-learnなんでもできんじゃん…
大体のことできるじゃん…
これは、やりたいことを検索した時に、scikit-learnを使ってたら、「これもscikit-learnか!」とひとつずつ感謝を噛みしめる流れでいいでしょうか。

scikit-learnはすごく大きいというか、アフリカ大陸みたいな感じかな?
アフリカと一言にいっても、その中にエジプトやガーナやコンゴがあるように、Scikit-learnの中にも、k-meansやLinearRegressionがある、ってことなのね👏

すごく納得したことがもう1つ。
PandasとかNumpyのインポートは、

ってシンプルなのに、K-meansとかは

ってちょっと書き方が違っていたの、こういうことだったんですね~🙆

疑問💡

とりあえず、納得感の方が大きくて、嬉しい気持ちです。

偉大な先輩方、教えてください!!!

本当に、こういうレベルでの超初心者なので、「まじこいつ何言ってんだ…」みたいな認識もあるかもしれません🙉🙉
それはちょっと違う、全然違う、などありましたら、コメントやTwitter(@riyonica)でご教示いただけると、めちゃめちゃに喜びます😊

おすすめ記事一覧

-データサイエンス学習帳

Copyright© リヨニカ学習帳 , 2019 All Rights Reserved Powered by STINGER.