Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

学習記録 その17(21日目)

$
0
0

学習記録(21日目)

勉強開始:12/7(土)〜

教材等:
・大重美幸『詳細! Python3 入門ノート』(ソーテック社、2017年):12/19(木)読了
・Progate Python講座(全5コース):12/21(土)終了
・Andreas C. Müller、Sarah Guido『(邦題)Pythonではじめる機械学習』(オライリージャパン、2017年):12月23日(土)読了
Kaggle : Real or Not? NLP with Disaster Tweets:12月28日(土)投稿〜1月3日(金)まで調整
Wes Mckinney『(邦題)Pythonによるデータ分析入門』(オライリージャパン、2018年):1月4日(土)〜

『Pythonによるデータ分析入門』

p.134 4章 Numpyの基礎 まで読み終わり。

・NumPy(Numerical Python) : 数的Python といった意味で解釈
 ベクトル化記法による高速な計算、データ操作
 数理モデリングや分析手法を扱えるわけではないが、習熟することでpandasのような配列志向ツールを使う時の武器となる。
 CやFortranといった低水準言語へのインターフェースとしての役割

・ndarray : N次元配列オブジェクト、Python環境における高速かつ柔軟なデータ処理に寄与
 arrayで生成、データ型は推測されたものが用いられるが、dtypeでデータ型の指定も可能
 astypeで型変換(キャスト)できる。

・ベクトル演算を用いることでループ型を書く必要がなくなる。(=高速な動作)

・スライシング(一部要素の切り取り・抽出)
 二次元配列に対するスライスは軸に沿う形で切り出される。(多次元配列のスライスとは少し異なる。)
 スライスにスカラーが混ざると次元が下がる。shapeで取り出すとよくわかる。
 (3,) → 3つの要素。 (1, 3) → 1×3の行列。 p.108

・1次元の真偽値配列
 ndarrayの指定するもの(trueであるもの)のみに数値代入等が可能
 data[names != 'A'] = 7 namesがAでないものにのみ7を代入、など。
 この類の操作はpandas環境でよく使われる。

・転地行列を用いた内積の計算(np.dot) 転地は.Tで行う。X.T.dot(X)でXの内積計算。
 transposeの引数に軸の順序を与えることで行列の部分入れ替えも可能。

・単項ufunc(abs, sqrt, log ...)、 二項ufunc(add, divide, maximum ...)

・np.whereでpythonの三項演算子 A if condition else yのベクトル演算ができる。
 第1引数で真偽判定(条件式)、第2引数でTrue、第3引数でFalseの値を設定し、対応したものを返す。

・sum、meanといった集計処理(統計関数)で次元削減が可能

・np.uniqueといった集合関数で配列中の重複を取り除いた値をソートして出力できる。(Kaggle前処理で使ったような)

・np.linalgモジュールで線形代数の計算が可能。行列式、正方行列に対する逆行列、QR分解 ...

・np.randomで様々な種類の確率分布に基づく計算が可能。二項分布、正規分布 ...
 Pythonの組み込みであるrandomを補完する形で提供されている。


Viewing all articles
Browse latest Browse all 21089

Trending Articles