๐‘๐‘œ๐‘ก๐‘’๐‘๐‘œ๐‘œ๐‘˜

ํ†ต๊ณ„ํ•™ ๊ธฐ์ดˆ ๋ณธ๋ฌธ

ํ†ต๊ณ„ํ•™

ํ†ต๊ณ„ํ•™ ๊ธฐ์ดˆ

seoa__ 2025. 1. 10. 13:47

๋ฐ์ดํ„ฐ ๋ถ„์„์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ

๊ธฐ์ˆ ํ†ต๊ณ„/์‹œ๊ฐํ™” : ๋ฐ์ดํ„ฐ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด๊ธฐ
์ถ”๋ก ํ†ต๊ณ„ : ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง„์งœ ๊ทธ ์‚ฌ์‹ค์ด ๋งž๋‚˜? ํ™•์ธ
๋จธ์‹ ๋Ÿฌ๋‹/๋”ฅ๋Ÿฌ๋‹ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ธฐ๋Œ€์–ด ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ์ •๋ณด ๋„์ถœ

ํ†ต๊ณ„ํ•™ ๋„๊ตฌ

  1. Excel
  2. SAS
  3. R
  4. Python

์ˆ˜์‹

์ž๋ฃŒํ˜•์˜ ์ข…๋ฅ˜

๋ฒ”์ฃผํ˜• ์ž๋ฃŒ

  • ๋ช…๋ชฉํ˜• ์ž๋ฃŒ : ์ˆœ์„œ๊ฐ€ ์˜๋ฏธ ์—†๋Š” ์ž๋ฃŒ (ex : ํ˜ˆ์•กํ˜• A, B, O, AB)
  • ์ˆœ์„œํ˜• ์ž๋ฃŒ : ์ˆœ์„œ๊ฐ€ ์˜๋ฏธ ์žˆ๋Š” ์ž๋ฃŒ (ex : ํ•™์  A, B, C)

์ˆ˜์น˜ํ˜• ์ž๋ฃŒ

  • ์ด์‚ฐํ˜• ์ž๋ฃŒ : ๋‘ ๋ฐ์ดํ„ฐ ๊ตฌ๊ฐ„์ด ์œ ํ•œํ•œ ์ž๋ฃŒ (ex : 1๋ช…,2๋ช…)
  • ์—ฐ์†ํ˜• ์ž๋ฃŒ : ๋‘ ๋ฐ์ดํ„ฐ ๊ตฌ๊ฐ„์ด ๋ฌดํ•œํ•œ ์ž๋ฃŒ (ex : ํ‚ค 160 ~ 170)

๋ฒ”์ฃผํ˜• ์ž๋ฃŒ๋Š” ์ธ๊ฐ„์˜ ์–ธ์–ด๋กœ ํ‘œํ˜„๋œ ์ž๋ฃŒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํ„ฐ ํ˜น์€ ์ˆ˜์‹์— ์ ์šฉํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ˆซ์žํ˜•์œผ๋กœ ๋ณ€ํ˜•ํ•˜์—ฌ ์ „๋‹ฌํ•ด์•ผ ํ•จ
computer science์—์„œ๋Š” ์ด๋ฅผ ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•จ
: ์ธ์ฝ”๋”ฉ(encoding) : ์–ด๋–ค ์ •๋ณด๋ฅผ ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ

์ค‘์‹ฌ๊ฒฝํ–ฅ์น˜

โ€ฃ ๋ฒ”์ฃผํ˜•์˜ ์š”์•ฝ์€ ์ตœ๋นˆ๊ฐ’์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ (๊ฐ€์žฅ ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ๊ฐ’)
โ€ฃ ์ˆ˜์น˜ํ˜•์˜ ๊ฒฝ์šฐ ํ‰๊ท (mean), ์ค‘์•™๊ฐ’(median)์ด ์‚ฌ์šฉ

  • ํ‰๊ท 

    ํ‰๊ท ์€ ์ด์ƒ์น˜์— ๋ฏผ๊ฐํ•จ
    ์ด์ƒ์น˜ : ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ์— ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜๋Š ๊ฐ’์„ ์˜๋ฏธํ•˜๋ฉฐ, ํ†ต๊ณ„์ ๋ฐฉ๋ฒ•๊ณผ ๋„๋ฉ”์ธ ์ง€์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ญ์ œ๋ฅผ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์Œ
  • ์ค‘์•™๊ฐ’
    โ€ฃ ์ผ๋ จ์˜ ์ˆซ์ž๋ฅผ ๊ฐ’ ์ˆœ์„œ๋Œ€๋กœ ์ค„ ์„ธ์› ์„ ๋•Œ, ๋ฐฑ๋ถ„์œ„ 50%์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’
    โ€ฃ ์ด์ƒ๊ฐ’์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ง‘๋‹จ์˜ ๋Œ€ํ‘œ์„ฑ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Œ

์‚ฐํฌ๋„

โ€ฃ ๋ฐ์ดํ„ฐ์˜ ํผ์ง ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•
โ€ฃ IQR(Inter Quantile Range) : ๋ฐฑ๋ถ„์œ„ ๊ธฐ์ค€ 75%(Q3)์™€ ๋ฐฑ๋ถ„์œ„ ๊ธฐ์ค€ 25%(Q1)์˜ ์ฐจ์ด

  • ๋ถ„์‚ฐ
    • ํ‰๊ท ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํผ์ง„ ์ •๋„
    • 10, 20, 30, 40, 50์˜ ๋ถ„์‚ฐ
      		```import numpy as np
      		data = [10,20,30,40,50]
      		my_array = np.array(data)
      		np.var(my_array)
      		'''
      		200
      		'''
  • ํ‘œ์ค€ํŽธ์ฐจ
    • ๋ถ„์‚ฐ์˜ ์ œ๊ณฑ๊ทผ
    • ๋ณ€๋™๊ณ„์ˆ˜
      • ์„œ๋กœ ๊ฐ’์˜ ์Šค์ผ€์ผ์ด ๋‹ค๋ฅด๋ฉด ๋ถ„์‚ฐ๋„ ๋‹ฌ๋ผ์ง
      • ์ด๋ฅผ ๋ณด์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•
      • ๊ฐ’1์˜ ํฌ์ค€ํŽธ์ž๋Š” 14142, ๊ฐ’2์˜ ํ‘œ์ค€ํŽธ์ฐจ๋Š” 14
      • ๋‘˜์˜ ๊ฐ’ ์Šค์ผ€์ผ์ด ๋‹ฌ๋ผ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€๋™๊ณ„์ˆ˜
      • ๊ฐ’ 1์˜ ๋ณ€๋™๊ณ„์ˆ˜
      • ๊ฐ’ 2์˜ ๋ณ€๋™๊ณ„์ˆ˜

Numpy ๋ชจ๋“ˆ

  • numpy๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„(ex: ํ–‰๋ ฌ) ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ ์ค‘ ํ•˜๋‚˜
  • ํŠนํžˆ ํ†ต๊ณ„ํ•™ ๋ฐ ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค์—์„œ๋Š” "์„ ํ˜•๋Œ€์ˆ˜"๋ผ๋Š” ํ•™๋ฌธ์„ ํƒ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ
  • python์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํŽธ์˜์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๊ตํ™˜ํ™˜ ์–ธ์–ด, ์†๋„๊ฐ€ ๋Š๋ฆฐ ์ ์„ ๋ณด์™„ํ•˜์—ฌ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์€ numpy๋ฅผ ์ž์ฃผ ํ™œ์šฉ
  • pandas์˜ ๊ธฐ๋ฐ˜ ์–ธ์–ด๊ฐ€ numpy์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ํ˜ธํ™˜๋˜๋Š” ํ•จ์ˆ˜/๋ฉ”์†Œ๋“œ๊ฐ€ ๋งŽ์Œ

์ž์ฃผ ์“ฐ๋Š” ํ•จ์ˆ˜

numpy
โ”‚
โ”œโ”€โ”€ ๊ธฐ๋ณธ ํ†ต๊ณ„ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ mean()                 # ๋ฐ์ดํ„ฐ์˜ ํ‰๊ท ๊ฐ’ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ median()               # ๋ฐ์ดํ„ฐ์˜ ์ค‘์•™๊ฐ’ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ std()                  # ๋ฐ์ดํ„ฐ์˜ ํ‘œ์ค€ํŽธ์ฐจ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ var()                  # ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ sum()                  # ๋ฐ์ดํ„ฐ์˜ ํ•ฉ๊ณ„ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ prod()                 # ๋ฐ์ดํ„ฐ์˜ ๊ณฑ ๊ณ„์‚ฐ
โ”‚
โ”œโ”€โ”€ ํผ์„ผํƒ€์ผ ๋ฐ ๋ฐฑ๋ถ„์œ„ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ percentile()           # ๋ฐ์ดํ„ฐ์˜ ํŠน์ • ํผ์„ผํƒ€์ผ ๊ฐ’ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ quantile()             # ๋ฐ์ดํ„ฐ์˜ ํŠน์ • ๋ถ„์œ„ ๊ฐ’ ๊ณ„์‚ฐ
โ”‚
โ”œโ”€โ”€ ์ตœ์†Œ๊ฐ’/์ตœ๋Œ€๊ฐ’ ๊ด€๋ จ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ min()                  # ๋ฐ์ดํ„ฐ์˜ ์ตœ์†Œ๊ฐ’ ๋ฐ˜ํ™˜
โ”‚   โ”œโ”€โ”€ max()                  # ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜
โ”‚   โ”œโ”€โ”€ argmin()               # ์ตœ์†Œ๊ฐ’์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
โ”‚   โ”œโ”€โ”€ argmax()               # ์ตœ๋Œ€๊ฐ’์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
โ”‚
โ”œโ”€โ”€ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ฐ ์ฒ˜๋ฆฌ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ histogram()            # ๋ฐ์ดํ„ฐ์˜ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ณ„์‚ฐ
โ”‚   โ”œโ”€โ”€ unique()               # ๋ฐ์ดํ„ฐ์—์„œ ๊ณ ์œ  ๊ฐ’ ๋ฐ˜ํ™˜
โ”‚   โ”œโ”€โ”€ bincount()             # ์ •์ˆ˜ ๋ฐฐ์—ด์˜ ๊ฐ’์˜ ๋นˆ๋„ ๊ณ„์‚ฐ
โ”‚
โ”œโ”€โ”€ ๋žœ๋ค ๋ฐ์ดํ„ฐ ์ƒ์„ฑ (ํ†ต๊ณ„์  ์‹คํ—˜ ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
โ”‚   โ”œโ”€โ”€ random.randn()         # ํ‘œ์ค€ ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋žœ๋ค ๊ฐ’ ์ƒ์„ฑ
โ”‚   โ”œโ”€โ”€ random.normal()        # ์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋žœ๋ค ๊ฐ’ ์ƒ์„ฑ
โ”‚   โ”œโ”€โ”€ random.randint()       # ์ •์ˆ˜ ๋ฒ”์œ„์—์„œ ๋žœ๋ค ๊ฐ’ ์ƒ์„ฑ
โ”‚   โ”œโ”€โ”€ random.choice()        # ๋ฐ์ดํ„ฐ์—์„œ ๋žœ๋ค ์ƒ˜ํ”Œ ์ถ”์ถœ

numpy์˜ ์‚ฌ์šฉ ์ด์œ 

  1. arrayํ˜• ์ž๋ฃŒํ˜•์„ ์„ ์–ธํ•˜์—ฌ ๊ด€๋ฆฌ
    a. ๋ฆฌ์ŠคํŠธ์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ธฐ์ˆ ํ†ต๊ณ„๋Ÿ‰ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    b. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„
  • 10000๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์š”์†Œ์— ๊ฐ 10์„ ๋”ํ• ๋•Œ

  •  # list์œผ๋กœ ์ฒ˜๋ฆฌ 
     import time 
     
     start = time.time() 
     
     my_list = [i for i in range(10000000)] 
     for i in range(len(my_list)): 
     my_list[i] = my_list[i] + 10 
     end = time.time() 
     
     print(end - start)


    # array ์ž๋ฃŒํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ
    import numpy as np
    
    start = time.time()
    np.array(my_list) + 10
    end = time.time()
    
    print(end-start)
  • random ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์˜๋กœ ๋งŒ๋“ค์–ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•  ์ˆ˜ ์žˆ์Œ

 

'ํ†ต๊ณ„ํ•™' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ฐ€์„ค๊ฒ€์ •์˜ ์ฃผ์˜์   (0) 2025.01.13
์ƒ๊ด€๊ด€๊ณ„  (1) 2025.01.13
์œ ์˜์„ฑ๊ฒ€์ •  (0) 2025.01.10
ํ†ต๊ณ„ํ•™ ๊ธฐ์ดˆ 2  (1) 2025.01.10