๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ•˜๋ฃจ๊ณต๋ถ€

์ œ 10์žฅ ๐Ÿ“’๋ฐ์ดํ„ฐ ๋ถ„์„_Numpy-1๐Ÿ“’

Numpy

  • Numeriacal Python
  • ํŒŒ์ด์ฌ ๋จธ์‹ ๋Ÿฌ๋‹ ํŒจํ‚ค์ง€์ธ scikit-learn์—์„œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ์‚ฌ์šฉ๋˜์–ด Numpy ๋ฐฐ์—ด ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ
  • ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ์—์„œ ํ–‰๋ ฌ ๋ฐ ๋ฒกํ„ฐ ์—ฐ์‚ฐ์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณต
  • ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ๋งŽ์€ ๋ฐ˜๋ณต๋ฌธ ์—†์ด ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด์— ๋น ๋ฅธ ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ ์ˆ˜ํ•™ ํ•จ์ˆ˜

๋ฐฐ์—ด : ๋™์ผํ•œ ํŠน์„ฑ(๋ฐ์ดํ„ฐ ํƒ€์ž…) ๋ฐ ์ผ์ •ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์†Œ๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ

  • ํŒŒ์ด์ฌ list ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ณด๋‹ค Numpy์˜ ndarray ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๊ฐœ์„ ๋˜์–ด ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ           ๋” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ

๐Ÿ“Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐ€์ ธ์˜ค๊ธฐ : numpy
      as ๋ณ„์นญ ์„ ์–ธ ์ดํ›„์—๋Š” ๋ณ„์นญ์œผ๋กœ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
      import ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ as ๋ณ„์นญ

๐Ÿ”‘ import numpy as np

 

Numpy ๋ฐฐ์—ด : numpy.ndarray

  • ๋‹ค์ฐจ์› ๋ฐฐ์—ด(1์ฐจ์›, 2์ฐจ์›, 3์ฐจ์›)์œผ๋กœ ์ž…์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„๋‹ค.
  • ๋ฐฐ์—ด ์†์„ฑ : shape, ndim, dtype ๋“ฑ
  • ๋ฐ์ดํ„ฐ ๋ฐฉํ–ฅ : axis = 0(ํ–‰/๋†’์ด), 1(์—ด/ํญ), 2(์ฑ„๋„/๊นŠ์ด) ์‚ฌ์ง„์„ ์ง‘์–ด๋„ฃ์„๋•Œ๋Š” imgํƒœ๊ทธ ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

1. ๋ฐฐ์—ด ์ƒ์„ฑ

  • np.array(data)
    • ํŒŒ์ด์ฌ list๊ฐ์ฒด๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ numpy list๋กœ ๊ตํ™˜ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด
    • ๋ฐฐ์—ด ์†์„ฑ
      • shape : ๊ตฌ์กฐ (ํ–‰, ์—ด, ์ฐจ์›)
      • ndim : ์ฐจ์›
      • dtype : ๋ฐ์ดํ„ฐ ํƒ€์ž…
      • size : ์š”์†Œ ๊ฐœ์ˆ˜ = ํ–‰ * ์—ด * ์ฐจ์›
    • ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ
      • astype() : ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜(๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ผ๋˜์ง€...)
    • ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์†์„ฑ๊ฐ’
      • type() : ๊ฐ์ฒด์˜ ์ž๋ฃŒํ˜• ํ™•์ธ
      • len() : ์š”์†Œ ๋‚ด๋ถ€์˜ ์ž๋ฃŒ ๊ธธ์ด.
    • Numpy ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์†์„ฑ
      • reshape(row, column) : ๋ฐฐ์—ด ์žฌ๋ฐฐ์น˜(1 * 12๋ฅผ 3 * 4 ํ˜•ํƒœ๋กœ ๋ฐ”๊พผ๋‹ค๋˜์ง€...)
    • kind : ๋ฐ์ดํ„ฐ ์ข…๋ฅ˜์— ๋Œ€ํ•œ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ
      • b boolean
      • i ์ •์ˆ˜(int)
      • u ๋ถ€ํ˜ธ์—†๋Š” ์ •์ˆ˜(unsigned int, +- ๊ฐœ๋… ์—†์ด ์ ˆ๋Œ€๊ฐ’๋งŒ ์กด์žฌ)
      • f ์‹ค์ˆ˜
      • c ๋ณต์†Œ ๋ถ€๋™์†Œ์ˆ˜์ 
      • O ๊ฐ์ฒด
      • S ๋ฐ”์ดํŠธ ๋ฌธ์ž์—ด(ascii ์ฝ”๋“œ, ์˜๋ฌธ์ž, ์ผ๋ถ€ํŠน๋ฌธ, ์ˆซ์ž)
      • U ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด(ํ•œ๊ธ€, ์ค‘๊ตญ์–ด, ํƒœ๊ตญ์–ด, ์•„๋ž์–ด ๋“ฑ ์˜์–ด์™€ ๋‹ค๋ฅธ ๋ฌธ์ž)
    •  ๋ฐฐ์—ด ๊ตฌ์กฐ ๋ณ€ํ™˜
       ๊ธฐ๋ณธ ๋ฐฐ์—ด์˜ ์š”์†Œ ์ด ๊ฐœ์ˆ˜(6๊ฐœ)์™€ ๋ณ€ํ™˜ํ•˜๋ ค๋Š” ๊ตฌ์กฐ์˜ ์ด ๊ฐœ์ˆ˜(6๊ฐœ)๋Š” ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค.
      arr.reshape(2,3) # (2 * 3์ด 6์ด๋ฏ€๋กœ), reshape(ํ–‰,์—ด)
array([[1, 2, 3],
       [4, 5, 6]])
  • ํŒŒ์ด์ฌ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ Numpy ๋ฐฐ์—ด ์ƒ์„ฑ  ๐Ÿ”‘" [ ] 1์ฐจ์›, [[ ]] 2์ฐจ์›, [[[ ]]] 3์ฐจ์›" ๐Ÿ”‘
     2์ฐจ์› ๋ฐฐ์—ด์˜ shape ์†์„ฑ์€(ํ–‰(row,์„ธ๋กœ์ถ•๊ฐœ์ˆ˜), ์—ด(colum,๊ฐ€๋กœ์ถ•๊ฐœ์ˆ˜))๋งŒ ๋ณ€ํ™˜
    tmp = [[1,2,3,4],
           [5,6,7,8]]
    arr = np.array(tmp)
    np_print(arr)

 

์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”  ๐Ÿšฉ arr = np."zeros,ones,full,eye,empty((_,_)) 

                                 np_print(arr) 

  1. ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑ
    • np.zeros()
    • np.ones()
    • np.full()
    • np.eye()
    • np.empty()

 

1-1 np.zeros(shape(๋ชจ์–‘), dtype = float)

  • ์ง€์ •๋œ ๊ตฌ์กฐ์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ชจ๋“  ์š”์†Œ๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”(zeros)  
  • shape : tupleํ˜•ํƒœ๋กœ ํ–‰, ์—ด์„ ์ง€์ •
  • dtype : ๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •,๊ธฐ๋ณธ๊ฐ’์€ numpy.float64

1-2. np.ones(shape(ํ–‰,์—ด),dtype = float)

  • ์ง€์ •๋œ ๊ตฌ์กฐ์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ชจ๋“  ์š”์†Œ๋ฅผ 1๋กœ(ones) ์ดˆ๊ธฐํ™”.
  • shape : tuple ์ž๋ฃŒ๋กœ ํ–‰, ์—ด ๊ตฌ์กฐ๋ฅผ ์ง€์ •
  • dtype : ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = numpy.float64

1-3. np.full(shape, fill_value,dtype)

  • ์ง€์ •๋œ ๊ตฌ์กฐ์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ชจ๋“  ์š”์†Œ๋ฅผ fill_value ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
  • shape : tuple ์ž๋ฃŒํ˜•์œผ๋กœ ํ–‰,์—ด ๊ตฌ์กฐ๋ฅผ ์ง€์ •
  • dtype = ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •,๊ธฐ๋ณธ๊ฐ’ = ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ž๋ฃŒํ˜•

1-4. np.eye(N, M= None,dtype=float)

  • (N,M) ๊ตฌ์กฐ์˜ ๋‹จ์œ„ ํ–‰๋ ฌ์„ ์ƒ์„ฑ
  • M : ์—ด ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = N
  • dtype : ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = numpy.float64

1-4. np.eye(N, M= None,dtype=float)

  • (N,M) ๊ตฌ์กฐ์˜ ๋‹จ์œ„ ํ–‰๋ ฌ์„ ์ƒ์„ฑ
  • M : ์—ด ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = N
  • dtype : ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = numpy.float64

like ํ•จ์ˆ˜

  • ์ „๋‹ฌ๋ฐ›์€ ๋ฐฐ์—ด๊ณผ ๋™์ผํ•œ shape์œผ๋กœ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑ
    • np.zeous_like() : ์ดˆ๊ธฐ๊ฐ’์„ 0์œผ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
    • np.ones_like() : ์ดˆ๊ธฐ๊ฐ’์„ 1๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
    • np.full_like() : ์ดˆ๊ธฐ๊ฐ’์„ fill_value ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ

 


โ…ก. ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”

  1. ๋ฒ”์œ„์™€ ์กฐ๊ฑด์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” 1์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ
    • np.linspace()
    • np.arange()
    • np.logspace()

2-1. np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

  • ์‹œ์ž‘๊ฐ’(start)๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊ฐ’(stop) ์‚ฌ์ด์˜ ๋ฒ”์œ„์—์„œ ๊ท ๋“ฑํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ ์ผ์ • ๊ฐœ์ˆ˜(num)๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
  • num : ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜, ๊ธฐ๋ณธ๊ฐ’ = 50
  • endpoint : ๋งˆ์ง€๋ง‰๊ฐ’์— stop์„ ํฌํ•จ/์ œ์™ธํ•˜๋Š” ์กฐ๊ฑด ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = True(ํฌํ•จ)
  • retstep : True๋กœ ์ „๋‹ฌํ•˜๋ฉด (๋ฐฐ์—ด, ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ tuple์„ ๋ฐ˜ํ™˜
  • dtype : ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = None

์˜ˆ์‹œ

 

- ๊ธฐ๋ณธ๊ฐ’
  0์ด์ƒ 1์ดํ•˜์˜ ๋ฒ”์œ„์—์„œ ๋ฐœ์ƒํ•œ ์ˆซ์ž 5๊ฐœ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐฐ์—ด


arr= np.linspace(0, 1, num=5)
np_print(arr)  

type : <class 'numpy.ndarray'>
    shape : (5,)
    ndim : 1
    dtype : float64
    array data : 
 [0.   0.25 0.5  0.75 1.  ]

- endpoint๋ฅผ False๋กœ ๋ณ€ํ™˜


arr = np.linspace(0, 1, num=5, endpoint=False)
np_print(arr) 

 type : <class 'numpy.ndarray'>
    shape : (5,)
    ndim : 1
    dtype : float64
    array data : 
 [0.  0.2 0.4 0.6 0.8]

endpoint ๋ฅผ False๋กœ ๋ณ€ํ™˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 1์„ ๋บ€ ๋‚˜๋จธ์ง€ ๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ธฐ๋•Œ๋ฌธ์—

๋ฐ์ดํ„ฐ ๊ฐ’์ด ๋‹ค๋ฅธ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

2-1. np.arange(start=0, stop, step=1, dtype=None)

  • ์‹œ์ž‘๊ฐ’(start)๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊ฐ’(stop) ์‚ฌ์ด์˜ ๋ฒ”์œ„์—์„œ ์ง€์ •ํ•œ ๊ฐ„๊ฒฉ(step)์œผ๋กœ ์ผ์ • ๊ฐœ์ˆ˜(num)๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
  • ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ range()์™€ ์œ ์‚ฌ
  • start : ์‹œ์ž‘๊ฐ’, ๊ธฐ๋ณธ๊ฐ’ = 0
  • stop : ๋งˆ์ง€๋ง‰๊ฐ’์œผ๋กœ ๋ฒ”์œ„์— ํฌํ•จ๋˜์ง€ ์•Š์Œ
  • step : ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ, ๊ธฐ๋ณธ๊ฐ’ = 1
  • dtype : ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •, ๊ธฐ๋ณธ๊ฐ’ = None

arange() ๋ฉ”์„œ๋“œ๋กœ ์ƒ์„ฑ๋œ ๋ฐฐ์—ด๊ณผ shape(1, 5)์ธ ๋ฐฐ์—ด์€ ๋™์ผํ•ด ๋ณด์ด์ง€๋งŒ
โŒ shape ์™€ dimetion์ด ์„œ๋กœ ๋‹ค๋ฅด๋‹ค โŒ

์˜ˆ์‹œ

 shape : (4,)
    ndim : 1
shape : (1, 4)
    ndim : 2

 

โ…ก. ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”

  1. ๋‚œ์ˆ˜(ํŠน์ •ํ•œ ์ˆœ์„œ๋‚˜ ๊ทœ์น™์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฌด์ž‘์œ„์˜ ์ˆ˜)๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑ
    • np.random.normal()
    • np.random.rand()
    • np.random.randn()
    • np.random.randint()
    • np.random.random()

3-1. np.random.normal(loc=0.0, scale=1.0, size=None)

  • ์ •๊ทœ ๋ถ„ํฌ ํ™•๋ฅ  ๋ฐ€๋„์—์„œ ํ‘œ๋ณธ์„ ์ถ”์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ์ƒ์„ฑ
  • loc : ์ •๊ทœ๋ถ„ํฌ์˜ ํ‰๊ท , ๊ธฐ๋ณธ๊ฐ’ = 0.0
  • scale : ์ •๊ทœ๋ถ„ํฌ์˜ ํ‘œ์ค€ํŽธ์ฐจ, ๊ธฐ๋ณธ๊ฐ’ = 1.0
  • size : (ํ–‰,์—ด,์ฐจ์›)์˜ ๋ฐฐ์—ด ๊ตฌ์กฐ, ๊ธฐ๋ณธ๊ฐ’ = single value(๋ฐฐ์—ด์ด ์•„๋‹Œ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜)
  •  

3-2. np.random.rand(d0, d1, ..., dn)

  • ์ง€์ •ํ•œ shape(d0, d1...)์— ๋”ฐ๋ผ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ํ›„ ๋‚œ์ˆ˜๋กœ ์ดˆ๊ธฐํ™”
  • ์‚ฌ์šฉ๋˜๋Š” ๋‚œ์ˆ˜๋Š” 0 ์ด์ƒ 1๋ฏธ๋งŒ์˜ ๋ฒ”์œ„์—์„œ ๊ท ๋“ฑ ๋ถ„ํฌ๋กœ ์ถ”์ถœ

3-3. np.random.randn(d0, d1,....dn)

  • ์ง€์ •ํ•œ shape(d0,d1...)์— ๋”ฐ๋ผ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ํ›„ ๋‚œ์ˆ˜๋กœ ์ดˆ๊ธฐํ™”
  • ์‚ฌ์šฉ๋˜๋Š” ๋‚œ์ˆ˜๋Š” ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ์—์„œ ์ถ”์ถœ๋œ ๋ฐ์ดํ„ฐ

3-4. np.random.randint(low, high=None, size=None, dtype = ' ')

  • low ์ด์ƒ high ๋ฏธ๋งŒ์˜ ๋ฒ”์œ„์—์„œ ์–‘์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ง€์ •ํ•œ size์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑ
  • low : high ๊ฐ’์ด ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด low ๊ฐ’์ด ์ตœ๋Œ€๊ฐ’(ํฌํ•จํ•˜์ง€ ์•Š์Œ)์œผ๋กœ ์„ค์ •
  • high : ์ตœ๋Œ€๊ฐ’(ํฌํ•จํ•˜์ง€ ์•Š์Œ), ๊ธฐ๋ณธ๊ฐ’ = None
  • size : ๋ฐฐ์—ด์˜ ๊ตฌ์กฐ, ๊ธฐ๋ณธ๊ฐ’ = None(๋ฐฐ์—ด์ด ์•„๋‹Œ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜)

โ€ป ๋‚œ์ˆ˜ = ๋ฌด์ž‘์œ„์˜ ์ˆซ์ž

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ถ”์ถœ๋˜๋Š” ๋‚œ์ˆ˜๋Š” ๋ฌด์ž‘์œ„๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ณ ์ •๋œ ๊ธฐ์ค€(์‹œ์ž‘์ )์„ ๊ฐ€์ง€๊ณ  ๊ทœ์น™์ ์œผ๋กœ ์ƒ์„ฑ
  • ์‹œ์ž‘์ ์„ ์„ค์ •ํ•œ๋‹ค๋ฉด ๋™์ผํ•œ ๋‚œ์ˆ˜๋ฅผ ๋˜‘๊ฐ™์ด ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • ๋‚œ์ˆ˜์˜ ์‹œ์ž‘์  ์„ค์ • : np.random.seed()

 

๐Ÿคข์˜ค๋Š˜์˜ ๊ณ ๋‚œ(difficulty)๐Ÿคข ๋ถ„์‚ฐ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ

์–ด๋–ค ์ง‘๋‹จ๊ฐ„ ํ‰๊ท ์ด ๊ฐ™๋‹ค๊ณ  ํ•ด์„œ ๋ฐ˜๋“œ์‹œ ๋ถ„ํฌ๊ฐ€ ๊ฐ™์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

ํ‰๊ท ์—์„œ ์–ด๋–ค ์š”์†Œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ„์‚ฐ๊ฐ’์„ ๊ตฌํ•œ ๋‹ค์Œ

๋ถ„์‚ฐ์— ์ œ๊ณฑ๊ทผ์„ ์”Œ์›Œ ํ‘œ์ค€ํŽธ์ฐจํ™” ์‹œ์ผœ์•ผ ๋น„๋กœ์†Œ ๋ถ„ํฌ๊ฐ€ ๋ˆˆ์— ๋ณด์ž…๋‹ˆ๋‹ค.

์ œ๊ณฑ๊ทผ ์•Œ์•„๋ณด๊ธฐ

์–ด๋–ค ์ˆ˜๋ฅผ ๋‘ ๋ฒˆ ๊ณฑํ•˜์—ฌ ๋‚˜์˜ค๋Š” ์ˆ˜์— ๋Œ€ํ•ด ๊ทธ ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋„๋ก ๋‘ ๋ฒˆ ๊ณฑํ•˜๋Š” ์ˆ˜ ์ง€์ˆ˜ ๊ผด๋กœ ๋ฐ”๊พผ ๋‹ค์Œ ๋‹ค์Œ ์ง€์ˆ˜์—์„œ 1์„ ๋นผ๋ฉด์„œ ์›๋ž˜ ์ง€์ˆ˜์˜ ๊ฐ’์„ ๊ณฑํ•œ๋‹ค.

 

68-95-99.7๊ทœ์น™&nbsp; = 3์‹œ๊ทธ๋งˆ๊ทœ์น™์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š”๋ฐ&nbsp; ํ‰๊ท ์—์„œ ์–‘์ชฝ์œผ๋กœ 3 ํ‘œ์ค€ํŽธ์ฐจ ์˜&nbsp; &nbsp; ๋ฒ”์œ„์— ๊ฑฐ์˜ ๋ชจ๋“  ๊ฐ’๋“ค(99.7%)์ด ๋“ค์–ด๊ฐ„๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

 

๋ถ„์‚ฐ์€ ๊ด€์ธก๊ฐ’์—์„œ ํ‰๊ท ์„ ๋บ€ ๊ฐ’์„ ์ œ๊ณฑํ•˜๊ณ , ๊ทธ๊ฒƒ์„ ๋ชจ๋‘ ๋”ํ•œ ํ›„ ์ „์ฒด ๊ฐœ์ˆ˜๋กœ ๋‚˜๋ˆ ์„œ ๊ตฌํ•œ๋‹ค.

์ฆ‰, ์ฐจ์ด๊ฐ’์˜ ์ œ๊ณฑ์˜ ํ‰๊ท ์ด๋‹ค. ๊ด€์ธก๊ฐ’์—์„œ ํ‰๊ท ์„ ๋บ€ ๊ฐ’์ธ ํŽธ์ฐจ๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๋ฉด 0์ด ๋‚˜์˜ค๋ฏ€๋กœ ์ œ๊ณฑํ•ด์„œ

๋”ํ•œ๋‹ค.

 

ํ‘œ์ค€ ํŽธ์ฐจ๋Š” ๋ถ„์‚ฐ์„ ์ œ๊ณฑ๊ทผํ•œ ๊ฒƒ์ด๋‹ค. ํŽธ์ฐจ๋“ค์˜ ์ œ๊ณฑํ•ฉ์—์„œ ์–ป์–ด์ง„ ๊ฐ’์˜ ํ‰๊ท ์น˜์ธ ๋ถ„์‚ฐ์˜ ์„ฑ์งˆ๋กœ๋ถ€ํ„ฐ ๋‹ค์‹œ

์ œ๊ณฑ๊ทผํ•ด์„œ ์›๋ž˜ ๋‹จ์œ„๋กœ ๋งŒ๋“ค์–ด์คŒ์œผ๋กœ์จ ์–ป๊ฒŒ๋œ๋‹ค.

 

-๊ธฐ๋ณธ๊ฐ’
v = np.random.normal(ํ‰๊ท ๊ฐ’_,ํ‘œ์ค€ํŽธ์ฐจ_)  ํ‰๊ท  _, ํ‘œ์ค€ํŽธ์ฐจ _๋กœ ์„ค์ •ํ•˜๊ณ  ๋‚œ์ˆ˜ ๋ฝ‘๊ธฐ


 

- ์ •๊ทœ๋ถ„ํฌ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์‹œ๊ฐํ™”
 โœ… ํ‰๊ท  10, ํ‘œ์ค€ํŽธ์ž 2์ธ ์ •๊ทœ๋ถ„ํฌ์—์„œ ์ถ”์ถœํ•œ 10000๊ฐœ์˜ ๋ฐ์ดํ„ฐ

โœ… data = np.random.normal(10, 2, size = 10000)

data
 8 ~ 12 = ์•ฝ 70%
 6.08 ~ 13.92 = 95%(2 * 1.96)