์ธ๊ณต์ง€๋Šฅ

[Day 9] Math for AI - Pandas โ…ก & Probability theory

Frank_the_Tank 2021. 1. 28. 16:16

๐Ÿ“ Pandas โ…ก

  ๐Ÿ”ฅ Groupby

    - SQL์—์„œ์˜ ๋ช…๋ น์–ด์™€ ๋™์ผํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฌผ์€ Seriesํ˜•ํƒœ๋กœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

    - Split -> apply -> combine์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ์—ฐ์‚ฐ์ด ๋œ๋‹ค.

groupby ์—ฐ์‚ฐ ๊ณผ์ •
groupby ์˜ˆ์ œ ์ฝ”๋“œ

 

    - unstack(): dataframe ํ˜•์‹์œผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ์ž‘์—… <-> stack()

    - reset_index() ๋“ฑ์˜ ์—ฐ์‚ฐ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

    - swaplevel(): index์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€œ

 

  ๐Ÿ”ฅ Grouped: groupby์— ์˜ํ•ด split๋œ ์ƒํƒœ๋ฅผ ์ถ”์ถœํ•ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ(Tupleํ˜•ํƒœ๋กœ key, value๊ฐ’ ์ถ”์ถœ)

    - Generatorํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ ์ ˆํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

    - ์ถ”์ถœ๋œ ์ •๋ณด์—๋Š” ์„ธ๊ฐ€์ง€ ์œ ํ˜•์˜ Apply๊ฐ€ ๊ฐ€๋Šฅ(Aggregation-์š”์•ฝ, transformation-๋ณ€ํ™˜, Filteration-ํ•„ํ„ฐ)

 

  ๐Ÿ”ฅ Pivot table 

    - excel์—์„œ์™€ ๋™์ผํ•˜๊ณ  index ์ถ•์€ groupby์™€ ๋™์ผ(groupby์˜ unstack๋ณด๋‹ค ๊ฐ„๊ฒฐ)

    - column์— ์ถ”๊ฐ€๋กœ labeling๊ฐ’์„ ์ถ”๊ฐ€ํ•ด, value์— numeric type๊ฐ’์„ aggregationํ•˜๋Š” ํ˜•ํƒœ

 

    - Crosstab: ํŠนํžˆ ๋‘ ์ปฌ๋Ÿผ์— ๊ต์ฐจ๋นˆ๋„, ๋น„์œจ, ๋•์…ˆ ๋“ฑ์„ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” pivot table์˜ ํŠน์ˆ˜ ํ˜•ํƒœ

 

  ๐Ÿ”ฅ Merge & Concat

    - merge: SQL์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” merge์˜ ๊ธฐ๋Šฅ๊ณผ ๋™์ผ(join, ๋‘๊ฐœ์˜ data๋ฅผ ํ•ฉ์นจ)

      -> ex) pd.merge(df_left, df_right, on = 'id')   => on - ๋‘ df์— ๊ฐ™์€ ๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ์‚ฌ์šฉ(๋‹ค๋ฅด๋‹ค๋ฉด left_on, right_on)

join method

   

    - concat: ๊ฐ™์€ ํ˜•ํƒœ์˜ data๋ฅผ ๋ถ™์ด๋Š” ์—ฐ์‚ฐ์ž‘์—…(list ํ˜•ํƒœ)

      -> df_new = pd.concat([df_a, df_b])  ==> default๋Š” axis = 0(๋ฐ‘์œผ๋กœ ๋ถ™์ž„)์ด๊ณ , axis = 1๋กœ ์˜†์œผ๋กœ ๋ถ™์ผ ์ˆ˜ ์žˆ์Œ

 

  ๐Ÿ”ฅ Persistence

    - database connection์„ ์ง€์›ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ(pymysql library๋ฅผ ์„ค์น˜ํ•ด sqlite3์„ importํ•˜์—ฌ ์‚ฌ์šฉ๊ฐ€๋Šฅ)

      -> data loading์‹œ db connection ๊ธฐ๋Šฅ ์ œ๊ณต

    - XLS persistence: openpyxl ์ด๋‚˜ XlsxWriter ์„ค์น˜ ํ›„ ์‚ฌ์šฉ๊ฐ€๋Šฅ

 

๐Ÿ“ ํ™•๋ฅ ๋ก  ๋ง›๋ณด๊ธฐ

    - DL์—์„œ ํ™•๋ฅ ๋ก ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ญ”๊ฐ€์š”?

      -> ๊ธฐ๊ณ„ํ•™์Šต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์†์‹คํ•จ์ˆ˜(Loss function)๋“ค์˜ ์ž‘๋™ ์›๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์„ ํ†ต๊ณ„์ ์œผ๋กœ ํ•ด์„ํ•˜์—ฌ ์œ ๋„ํ•˜๊ฒŒ ๋จ ==> ์˜ˆ์ธก์ด ํ‹€๋ฆด ์œ„ํ—˜์„ ์ตœ์†Œํ™”

      -> ์˜ˆ๋ฅผ ๋“ค์–ด, ํšŒ๊ท€ ๋ถ„์„์˜ ๊ฒฝ์šฐ(L2-norm), ์˜ˆ์ธก ์˜ค์ฐจ์˜ ๋ถ„์‚ฐ์„ ๊ฐ€์žฅ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์œ ๋„

                         ๋ถ„๋ฅ˜ ๋ฌธ์ œ(๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ)์˜ ๊ฒฝ์šฐ, ๋ชจ๋ธ ์˜ˆ์ธก์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ตœ์†Œ๋กœํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์œ ๋„

      -> ์ด๋Ÿฌํ•œ ๊ฐœ๋…, ์ด๋ก ๋“ค์ด ํ™•๋ฅ ๋ก ์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— DL์—์„œ ํ™•๋ฅ ๋ก ์ด ์ค‘์š”ํ•˜๋‹ค.

 

  ๐Ÿ”ฅ ํ™•๋ฅ  ๋ถ„ํฌ: ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„(X x Y)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ถ„ํฌ(D)๋ฅผ ๋งํ•จ.

    - (x, y) ~ D ๋กœ ํ‘œ๊ธฐํ•˜๊ณ  (x, y)๋Š” ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์—์„œ ๊ด€์ธก ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•œ๋‹ค.

    - ํ™•๋ฅ ๋ถ„ํฌ ๋ณ€์ˆ˜๋Š” ํ™•๋ฅ  ๋ถ„ํฌ์— ๋”ฐ๋ผ ์ด์‚ฐํ˜•(Discret) ๊ณผ ์—ฐ์†ํ˜•(Continuous)๋กœ ๋‚˜๋‰œ๋‹ค.

    - ๋ถ„ํฌ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ์„œ D(ํ™•๋ฅ  ๋ถ„ํฌ)๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๋‹ค.

    - ์ด์‚ฐํ˜•: ํ™•๋ฅ  ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ ํ™•๋ฅ ์„ ๋”ํ•ด์„œ ๋ชจ๋ธ๋ง ํ•จ(ํ™•๋ฅ  ์งˆ๋Ÿ‰ ํ•จ์ˆ˜)

 

* P(X = x)๋Š” ํ™•๋ฅ  ๋ณ€์ˆ˜๊ฐ€ x๊ฐ’์„ ๊ฐ€์งˆ ํ™•๋ฅ 

 

    - ์—ฐ์†ํ˜•: ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์— ์ •์˜๋œ ํ™•๋ฅ  ๋ณ€์ˆ˜์˜ ๋ฐ€๋„(Density) ์œ„์—์„œ์˜ ์ ๋ถ„์„ ํ†ตํ•ด ๋ชจ๋ธ๋ง(ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜)

 

* P(x)๋Š” ๋ˆ„์ ํ™•๋ฅ ์˜ ๋ณ€ํ™”์œจ์„ ๋งํ•œ๋‹ค.

 -> ํ™•๋ฅ ๋กœ ์ ‘๊ทผํ•˜๋ฉด ์•ˆ๋จ!!

 

  ๐Ÿ”ฅ ์ฃผ๋ณ€ํ™•๋ฅ ๋ถ„ํฌ(P(x))

    - ์ž…๋ ฅ x์— ๋Œ€ํ•œ ์ฃผ๋ณ€ํ™•๋ฅ  ๋ถ„ํฌ๋กœ y์— ๋Œ€ํ•ด ์ •๋ณด๋ฅผ ์ฃผ์ง€ ์•Š์Œ, ํ•˜์ง€๋งŒ ๋”ํ•˜๊ฑฐ๋‚˜ ์ ๋ถ„์„ ํ†ตํ•ด ๊ฐ€๋Šฅ(์œ„์˜ ์‹)

 

  ๐Ÿ”ฅ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ  ๋ถ„ํฌ(P(x|y))

    - ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ์ƒ์—์„œ ์ž…๋ ฅ x์™€ ์ถœ๋ ฅ y ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง

      -> y๊ฐ€ ์ฃผ์–ด์ง„ ์ƒํ™ฉ์—์„œ x์˜ ๋ถ„ํฌ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ. => ํ†ต๊ณ„์  ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

      ** P(y|x)๋Š” ์ž…๋ ฅ ๋ณ€์ˆ˜ x์— ๋Œ€ํ•ด ์ •๋‹ต์ด y์ผ ํ™•๋ฅ ์„ ์˜๋ฏธ(์—ฐ์†ํ™•๋ฅ ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฐ€๋„๋กœ ํ•ด์„)

    - ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ์„ ํ˜• ๋ชจ๋ธ๊ณผ softmax ํ•จ์ˆ˜์˜ ๊ฒฐํ•ฉ์€ ๋ฐ์ดํ„ฐ์—์„œ ์ถ”์ถœ๋œ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•๋ฅ ์„ ํ•ด์„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

      ** ๋ถ„๋ฅ˜๋ฌธ์ œ์—์„œ softmax(wΦ + b)๋Š” ๋ฐ์ดํ„ฐ x๋กœ๋ถ€ํ„ฐ ์ถ”์ถœ๋œ ํŠน์ง•ํŒจํ„ด Φ(x)์™€ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ W๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด๋ถ€ํ™•๋ฅ  P(y|x)๋ฅผ ๊ณ„์‚ฐ (== P(y|Φ(x))๋ผ๊ณ ๋„ ํ•˜์ง€๋งŒ ์ž˜ ์“ฐ์ง„ ์•Š์Œ)

      ** ํšŒ๊ท€ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, ์กฐ๊ฑด๋ถ€ ๊ธฐ๋Œ€๊ฐ’ E[y|x]๋ฅผ ์ถ”์ •

        -> ์™œ ์‚ฌ์šฉํ•˜๋‚˜์š”? L2-norm์œผ๋กœ ๋ฝ‘์€ ํ•จ์ˆ˜(f(x))์™€ ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

  ๐Ÿ”ฅ ๊ธฐ๋Œ€๊ฐ’(Expectation, ํ‰๊ท (mean)๊ณผ ๋น„์Šทํ•œ ์˜๋ฏธ)

    - ํ™•๋ฅ ๋ถ„ํฌ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํ†ต๊ณ„์  ๋ฒ”ํ•จ์ˆ˜(Statistical functional)๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ์ค‘ ๊ธฐ๋Œ€๊ฐ’์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ํ†ต๊ณ„๋Ÿ‰์ด๋ฉด์„œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ํ†ต๊ณ„์  ๋ฒ”ํ•จ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ

์—ฐ์†ํ™•๋ฅ  ๋ถ„ํฌ์˜ ๊ฒฝ์šฐ ์™ผ์ชฝ๊ณผ ๊ฐ™์ด ์ ๋ถ„์‹์„ ์‚ฌ์šฉํ•˜๊ณ , ์ด์‚ฐํ™•๋ฅ  ๋ถ„ํฌ์˜ ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™์ด ๊ธ‰์ˆ˜์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

    - ๊ธฐ๋Œ€๊ฐ’์„ ์ด์šฉํ•ด ๋ถ„์‚ฐ, ์ฒจ๋„, ๊ณต๋ถ„์‚ฐ ๋“ฑ ์—ฌ๋Ÿฌ ํ†ต๊ณ„๋Ÿ‰์„ ๊ณ„์‚ฐ

 

  ๐Ÿ”ฅ ๋ชฌํ…Œ์นด๋ฅผ๋กœ ์ƒ˜ํ”Œ๋ง(Monte Carlo)

    - ๊ธฐ๊ณ„ํ•™์Šต์˜ ๋งŽ์€ ๋ฌธ์ œ๋“ค์€ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ชจ๋ฅผ ๋•Œ๊ฐ€ ๋งŽ์€๋ฐ ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

    -  ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๋Œ€๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ณ  ์ด์‚ฐํ˜•, ์—ฐ์†ํ˜•์— ์ƒ๊ด€์—†์ด ์„ฑ๋ฆฝํ•œ๋‹ค.

 * i.i.d. - ๋…๋ฆฝ ๋™์ผ ๋ถ„ํฌ

 - ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋“ค์ด ๋…๋ฆฝ์ ์ด๊ณ  ๋™์ผํ•œ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ๊ฐ€์ง€๋Š” ๋ถ„ํฌ(์ฃผ์‚ฌ์œ„)

    - ์œ„์˜ ์‹์„ ๋ณด๋ฉด, x๋ฅผ ์ƒ˜ํ”Œ๋งํ•œ ๋ฐ์ดํ„ฐ์ด๊ณ , ์œ ์‚ฌ์‹(์‚ฐ์ˆ ํ‰๊ท )์„ ๊ตฌํ•ด์ฃผ๋ฉด ๊ทผ์‚ฌ๊ฐ’์ด ๋„์ถœ๋œ๋‹ค.

      ** ์—ฌ๊ธฐ์„œ sampling data๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ํ•ด์ฃผ์–ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค.

    - ๋…๋ฆฝ ์ถ”์ถœ์ด ๋ณด์žฅ๋œ๋‹ค๋ฉด ๋Œ€์ˆ˜์˜ ๋ฒ•์น™(Law of large number)์— ์˜ํ•ด ์ˆ˜๋ ด์„ฑ์„ ๋ณด์žฅ

    - ํ•˜์ง€๋งŒ ์ƒ˜ํ”Œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ ๋‹ค๋ฉด ์˜ค์ฐจ ๋ฒ”์œ„๊ฐ€ ์ปค์ง€๊ณ  True๊ฐ’๊ณผ ๋ฉ€์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.