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

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

ํ†ต๊ณ„ํ•™

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

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