Notice
Recent Posts
Recent Comments
ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐ŸŒฒ์ž๋ผ๋‚˜๋Š”์ฒญ๋…„

์‹ฑ์‹ฑํ•œ ๋ฐ์ดํ„ฐ(= ์ •์ œ ๋˜์ง€ ์•Š์€...)๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ์œ ์˜์  ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์‹ฑ์‹ฑํ•œ ๋ฐ์ดํ„ฐ(= ์ •์ œ ๋˜์ง€ ์•Š์€...)๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ์œ ์˜์ 

JihyunLee 2020. 5. 26. 23:16
๋ฐ˜์‘ํ˜•

์„œ๋ก 

๋‚˜์˜ ์กธ์—…๊ณผ์ œ ์ฃผ์ œ๋Š” '์ฃผ๊ฐ€ ์˜ˆ์ธก'์ด๋‹ค.
๋”ฅ๋Ÿฌ๋‹์œผ๋กœ ๊ตฌํ˜„๋งŒ ํ•  ์ˆ˜์žˆ๋‹ค๋ฉด, ์—„์ฒญ๋‚œ ๋ถ€์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์ฃผ์ œ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ด€๋ จ ๋…ผ๋ฌธ์—์„œ๋Š” ์ฃผ์‹์€ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์•„์„œ ์˜ˆ์ธก์ด ์–ด๋ ต๋‹ค๋Š” ๋ง์ด ๋งŽ์•˜๋‹ค.

์–ด์ฐŒ๋˜์—ˆ๋“ , ์ฃผ๊ฐ€์˜ ์ƒ์Šน์„ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ œ๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ฐ€์žฅ ํฐ ๋‚œ๊ด€์€.. ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต์ด์—ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋‚ด๊ฐ€ ๊ทธ์•ผ๋ง๋กœ ์‹ฑ์‹ฑํ•œ ๋ฐ์ดํ„ฐ.. ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ์„ ๋•Œ ํ•œํ•™๊ธฐ๋™์•ˆ์˜ ์‚ฝ์งˆ์„ ํ†ตํ•ด ์–ป๊ฒŒ๋œ ์ง€์‹์„ ๊ธฐ๋กํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค.


์–ป๊ฒŒ๋œ ์ง€์‹

1. Domain(๋ฐ์ดํ„ฐ๋ฅผ ์ค€ ์‚ฌ๋žŒ๋“ค์˜ ๋ถ„์•ผ์˜ ์ง€์‹)์„ ์•Œ๊ธฐ

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ๋งŒ ํ•ด๋„ ๊ฑฐ์˜ ์ฃผ์‹์— ๋ฌธ์™ธํ•œ์ธ ์ฃผ์•Œ๋ชป ์ด๊ธฐ ๋•Œ๋ฌธ์—, ํšŒ์‚ฌ์—์„œ ์ค€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ƒฅ ์ตœ์†Œํ•œ์˜ ๊ฐ€๊ณต๋งŒ ํ•ด์„œ, ๋ชจ๋ธ์— ๋„ฃ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๊ทธ๋Ÿฌ๊ธฐ ์ด์ „์— Domain์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ๊ณต๋ถ€๋Š” ์„ ํ–‰์ด ๋˜์—ˆ์–ด์•ผ ํ•œ๋‹ค. (๋‚˜๋Š” ๊ธ‰ํ•˜๊ฒŒ ์ง€์‹์„ ์Šต๋“ํ•˜๊ธฐ ์œ„ํ•ด, ์ฃผ์‹ ๊ด€๋ จ ๋งŒํ™”์ฑ…์„ ์ฝ์—ˆ์—ˆ๋‹ค.)

ํ•œ์ฐธ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต์„ ํ–ˆ์„ ๋•Œ, ์ฃผ ์ž˜์•Œ(์ฃผ์‹์„ ์ž˜์•„๋Š” ์‚ฌ๋žŒ) ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋”๋‹ˆ ์•Œ๋ ค์คฌ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ง์ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๊ณ ..

๋ญ๋ผ๊ตฌ์š”..?

์•Œ๊ณ ๋ณด๋‹ˆ ์ฃผ์‹์ด ํ•˜๋ฃจ์— 6000% ์ •๋„ ๋›ฐ๋Š” ๋ฐ์ดํ„ฐ๋“ค์ด ๊ฝค ์žˆ์—ˆ๊ณ , ์ด๋Š” ํ˜„ํ–‰๋ฒ•์ƒ ๋ถˆ๋ฒ•์ด์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฃผ์‹๋“ค์€, ๊ธˆ์œต์œ„์›ํšŒ์—์„œ ๊ตฌ๋งค๋ฅผ ๋ง‰์•˜๋‹ค๊ฐ€, ๊ตฌ๋งค๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ์„๋•Œ ๊ฐ‘์ž๊ธฐ ์ด๋ ‡๊ฒŒ ๊ธ‰๋“ฑ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค..

์ด๋Ÿฌํ•œ ๋ถˆ์—ฐ์†์„ฑ ๋•Œ๋ฌธ์— ์ฃผ์‹์‹œ์žฅ์—์„œ๋Š” '์ˆ˜์ •์ฃผ๊ฐ€' ๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์„œ ๋ถ„์„ํ•˜๋Š”๋ฐ์— ์“ด๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, ๊ทธ๊ฑธ ๋ชฐ๋ผ์„œ, ๊ทธ๋ƒฅ ์ฃผ๊ฐ€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋งŒ์•ฝ '์ˆ˜์ •์ฃผ๊ฐ€'๋ฅผ ์•Œ์•˜๋‹ค๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฒฐ๊ณผ๋„ ๋” ์ž˜๋‚˜์˜ค๊ณ  ์ข‹์•˜๊ฒ ์ง€..ใ… ใ… 

์–ด์ฐŒ๋˜์—ˆ๋“ , ๋ฐ›์€๋Œ€๋กœ ๊ทธ๋ƒฅ์“ฐ๋ฉด ์•ˆ๋˜๊ณ , ๋‹จ์ˆœํžˆ ์ด์ƒ์น˜๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ •๊ทœํ™”๋ฅผ ํ•˜๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ฐ ๋ณ€์ˆ˜์˜ ์ง„์งœ ์˜๋ฏธ๋„ ๊นŠ๊ฒŒ ์ƒ๊ฐํ•ด ๋ณด์•„์•ผ ํ•œ๋‹ค๋Š”๊ฒƒ, ๊ทธ ์˜์—ญ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค.

 

2. ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์˜ ์ •๊ทœํ™”

์ด ๋ฌธ์ œ๋„ ํ•œ์ฐธ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ํ›„, ์‹คํ—˜์„ ํ•˜๊ณ ๋‚˜์„œ ์•Œ๊ฒŒ ๋œ ๋ฌธ์ œ์ด๋‹ค. 

์ฃผ์‹์„ ์ž˜ ์•„๋Š” ํ•™์ƒ์—๊ฒŒ ์šฐ๋ฆฌ ์‹คํ—˜๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์คฌ๋”๋‹ˆ, ์ดํ‹€์„ ์ž…๋ ฅ๋ฐ›์•˜๋Š”๋ฐ ์ •ํ™•๋„๊ฐ€ 80%๋Š” ๋ง์ด ์•ˆ๋œ๋‹ค.. ๋ผ๊ณ  ํ–ˆ์—ˆ๋‹ค.

๋ญ๋ผ๊ตฌ์š”.......?

์‚ฌ์‹ค ๊ทธ๊ฒŒ ๋งž๋Š” ๋ง์ด์—ˆ๋‹ค. 

์–ด๋””์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‚˜ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ, ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ minmax normalizeํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ๋ฏธ๋ž˜์˜ ์ตœ๊ณ ๊ฐ€๋ฅผ ์•Œ๊ณ  ์ •๊ทœํ™”๋ฅผ ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, test์—์„œ cheating์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์—ˆ๋‹ค.

์ด ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์„ฑ์žฅ๋ฅ ๋กœ ์ •๊ทœํ™”๋ฅผ ํ•˜์˜€๊ณ , cheating๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

3. ๋ฏธ๋‹ˆ๋ฐ์ดํ„ฐ๋กœ ๋ฏธ๋ฆฌ ํ•ด๋ณด๊ธฐ

๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ์ฝ”๋“œ๋ฅผ ๋‹ค ์งฐ๋‹ค๋ฉด, ์ง€๊ธˆ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ์˜ ๋ฏธ๋‹ˆ๋ฒ„์ ผ์„ ๋งŒ๋“ค์–ด์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋Š”๊ฒƒ์ด ๊ผญ ํ•„์š”ํ•˜๋‹ค.
๋ฏธ๋‹ˆ ๋ฐ์ดํ„ฐ๋งŒ๋“ค๊ธฐ ๊ท€์ฐฎ์•„์„œ ์•ˆํ–ˆ๋‹ค๊ฐ€, ๋””๋ฒ„๊น…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ๊ฑธ๋ฆฐ์ ์ด ์žˆ๋‹ค. ๊ผญ ๋ฏธ๋‹ˆ๋ฐ์ดํ„ฐ๋กœ ๋งŒ๋“ค๊ณ  ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ!

4. ์ค‘๊ฐ„์ค‘๊ฐ„ ์ €์žฅํ•˜๊ธฐ

ํŒŒ์ด์ฌ์€ 'ํ”ผํด'(pkl)์ด๋ผ๋Š” binary ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ”ผํด์ด๋ผ๋‹ˆ, ๊ท€์—ฌ์›Œ

ํ”ผํด ํŒŒ์ผ์€ ์ผ๋ฐ˜ ํŒŒ์ผ๋ณด๋‹ค ํ›จ์”ฌ load์†๋„๊ฐ€ ๋นจ๋ผ์„œ, ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š”๋ฐ ์œ ๋ฆฌํ•˜๋‹ค.

์ปค๋‹ค๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ๋•Œ ์ด ํ”ผํด ํŒŒ์ผ์€ ์• ์šฉํ•˜๋Š”๋ฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def save_obj(obj, name ):
    with open('./obj/'+ name + '.pkl''wb') as f:
        pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)
 
def load_obj(name ):
    with open('./obj/' + name + '.pkl''rb') as f:
        return pickle.load(f)
 
if __name__ == "__main__":
    datas = dataload_origin()
    save_obj(datas, "0526regression1")
    datas = check_same(datas)
    save_obj(datas, "0526regression2")
    get_statics(datas)
    datas = shuffle(datas)
    save_obj(datas, "0526regression3")
    datas = add_ratios(datas)
    save_obj(datas, "0526regression4")
    datas = norm(datas)
    save_obj(datas, "0526regression5")
    datas = addLabel(datas)
    save_obj(datas, "0526regression6")
    save(datas)
 
 
 
cs

์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต์˜ ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ํ”ผํดํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๊ทธ ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ๋‹ค. 

(load, save ์ฝ”๋“œ๋Š” stackoverflow ์—์„œ ๊ฐ€์ ธ์™”๋Š”๋ฐ, ์ •ํ™•ํ•œ ํŽ˜์ด์ง€๊ฐ€ ์–ด๋”˜์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋‹คใ… ) 

์ƒ๊ฐ์ง€๋„ ๋ชปํ•œ ์—๋Ÿฌ(์˜ˆ๋ฅผ๋“ค์–ด ์ €์žฅํ•  ํด๋”๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ์ฃผ์ง€ ์•Š์•˜๋‹ค๋Š” ๋“ฑ์˜..)๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š”๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ

ใ…ˆใ……ใ…‡

๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๋ฒˆ๋งŒ ๋“ค์–ด์˜ค๋ฉด ํ•œ๋ฒˆ ๊ฐ€๊ณตํ•˜๊ณ  ๋~ ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ ๋‚ด๋‚ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒˆ๋กœ ๋“ค์–ด์™”๋‹ค. (์œผ์•…)

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— '์ผ๋‹จ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ'๋กœ ์งœ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋ˆ„๊ฐ€๋ด๋„ ์‰ฝ๊ณ , ๋…ผ๋ฆฌ์ •์—ฐํ•˜๊ณ  ๊น”๋”ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๋Š”๊ฒƒ์ด ์ •์‹ ์— ์ด๋กญ๋‹ค :)

 


์•ฝ ๋ฐ˜๋…„๋™์•ˆ ์ตํžŒ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ๊ธฐ์ˆ ์„ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.

์—„์ฒญ๋‚œ ๊ธฐ์ˆ ์€ ์•„๋‹ˆ์ง€๋งŒ ์ฒ˜์Œ ์ปค๋‹ค๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ๋‹นํ™ฉ์Šค๋Ÿฌ์šด ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ, ๊ทธ๋ฆฌ๊ณ  ์Šต๋“ํ•œ ๊ธฐ์ˆ ๋“ค์„ ๊นŒ๋จน์„ ๋ฏธ๋ž˜์— ๋‚˜์—๊ฒŒ ์ด ๊ธ€์ด ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค

 

๋ฐ˜์‘ํ˜•