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

๐Ÿ๐ŸŽ๐Ÿ๐ŸŽ ๐›๐ซ๐ข๐ ๐ก๐ญ๐ข๐œ๐ฌ

[Brightics Studio ์‹ค์Šต] ์ „์ฒ˜๋ฆฌ (3) : ์ด์ƒ์น˜ ํƒ์ง€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๊ธฐ

#๋ธŒ๋ผ์ดํ‹ฑ์Šค #๋ธŒ๋ผ์ดํ‹ฑ์Šค์ŠคํŠœ๋””์˜ค #Brightics #๋ธŒ๋ผ์ดํ‹ฑ์Šค์„œํฌํ„ฐ์ฆˆ #๋ฐ์ดํ„ฐ๋ถ„์„

๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ณผ์ •์—์„œ ๋ถ„์„์— ์•Œ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋“ฌ๋Š” ์ „์ฒ˜๋ฆฌ ๊ณผ์ •! ๋ฒŒ์จ ์„ธ ๋ฒˆ์งธ ๋‹จ๊ณ„๋„ค์š”

์ €๋ฒˆ๊นŒ์ง€ ๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋งž์ถ”๊ณ  ๊ฒฐ์ธก์น˜๋ฅผ ์ฒ˜๋ฆฌํ•ด๋ณด์•˜๋Š”๋ฐ์š”,
์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์ด์ƒ์น˜๋ฅผ ํƒ์ง€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์„ ์‹ค์Šตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!


๐’ƒ๐’“๐’Š๐’ˆ๐’‰๐’•๐’Š๐’„๐’” ๐’‘๐’“๐’๐’„๐’†๐’”๐’”


โ€ป ํ•ด๋‹น ์‹ค์Šต์€ Brightics AI ํ™ˆํŽ˜์ด์ง€์—์„œ ์ œ๊ณตํ•˜๋Š” ํŠœํ† ๋ฆฌ์–ผ ์ค‘ ์ด์ƒ์น˜ ์ œ๊ฑฐ (2)๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค!
์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ด์šฉํ•˜์„ธ์š”!

 

Brightics Studio

 

www.brightics.ai


๐ŸŽ. ์ด์ƒ์น˜[์ด์ƒ๊ฐ’, Outlier]๋ž€?

์ด์ƒ์น˜๋ž€ ๋‹ค๋ฅธ ๊ด€์ธก์น˜์— ๋น„ํ•ด ๋น„์ •์ƒ์ ์œผ๋กœ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ์žˆ๋Š” ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ง์ž…๋‹ˆ๋‹ค.

ํ†ต๊ณ„๊ฐ’์„ ์™œ๊ณกํ•  ์ˆ˜ ์žˆ์–ด ์ œ๊ฑฐ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ ,
๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ง‘์ด๋‚˜ ํ†ต๊ณ„ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋ชฉํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์–ด์š”.

๊ฒฐ์ธก๊ฐ’๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์„ฑ ํ˜•ํƒœ๋ฅผ ํŒŒ์•…ํ•œ ํ›„ ๋ถ„์„์˜ ๋ชฉ์ , ๋‚ด์šฉ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ ์ ˆํ•œ ํŒ๋‹จ์„ ๋‚ด๋ฆฌ๋Š” ๊ฒŒ ์ค‘์š”ํ•œ ๋ถ€๋ถ„!

๐Ÿ. ๐‹๐จ๐š๐

ํŠœํ† ๋ฆฌ์–ผ์— ์žˆ๋Š” 201_py_outlier_detection_lof.csv ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™”์–ด์š”.

 

์ฃผ์–ด์ง„ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๊ด€์ธก ์ •๋ณด ๋ฐ์ดํ„ฐ์—์„œ ๊ด€์ธก์น˜๊ฐ€ ์ ์€ ์ง€์—ญ์˜ ๋ฐ์ดํ„ฐ ์ œ๊ฑฐํ•˜๊ธฐ!

๋‚™๋ขฐ๋Š” ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์ „๊ธฐ์  ๋ฐฉ์ „ ํ˜„์ƒ์œผ๋กœ ์ฃผ๋กœ ๋‡Œ์šฐ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ๋‚™๋ขฐ๋กœ ์ธํ•œ ์žฌ์‚ฐ ํ”ผํ•ด ๋ฐ ์ธ๋ช… ํ”ผํ•ด๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋‚™๋ขฐ๊ฐ์ง€๊ธฐ๋ฅผ ํ†ตํ•ด ์ˆ˜์ง‘๋œ ๋‚™๋ขฐ ๊ด€์ธก ์ •๋ณด ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‚™๋ขฐ ๋ฐœ์ƒ์ด ๋นˆ๋ฒˆํ•œ ์ง€์—ญ์˜ ์†์„ฑ์„ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋ถ„์„์— ์•ž์„œ ๊ด€์ธก์น˜๊ฐ€ ์ ์€ ์ง€์—ญ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ๋Š”

๋ณ€์ˆ˜๋ช… ๋ณ€์ˆ˜ ํ˜•ํƒœ ์˜๋ฏธ ์˜ˆ์‹œ
Time string (๋ฌธ์ž) ๊ด€์ธก ๋‚ ์งœ์™€ ์‹œ๊ฐ„ 2017-12-27 6:16
Latitude double (์‹ค์ˆ˜) ์œ„๋„ 34.37178
Longtitude ๊ฒฝ๋„ 126.110565
Value ๋‚™๋ขฐ๊ฐ•๋„ (kA, ๋ถ€ํ˜ธ๋Š” ์ „ํ•˜ ๊ทน์„ฑ) 1

์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ , ์ด 2674 ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋„ค์š”. ๊ฒฐ์ธก์น˜๋Š” ์—†์–ด๋ณด์—ฌ์š”.

 

Scatter Plot ์œผ๋กœ ๋ถ„ํฌ ํ˜•ํƒœ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”. X์ถ•์€ ๊ฒฝ๋„, Y์ถ•์€ ์œ„๋„๋กœ ์„ ํƒํ•ด์ค€ ์‚ฐ์ ๋„ ๊ทธ๋ž˜ํ”„!

๐Ÿ. ๐Ÿ๐ข๐ฅ๐ญ๐ž๐ซ

๋‚™๋ขฐ ๊ฐ•๋„๊ฐ€ 0์ธ ๋ฐ์ดํ„ฐ๋Š” ์ œ์™ธํ•ด์ฃผ๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด์„ ๋ถ€์—ฌํ•˜๊ณ  ๊ทธ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๊ณจ๋ผ๋‚ด๋Š” ํ•จ์ˆ˜๋Š”?
์ด์ œ๋Š” ์ต์ˆ™ํ•ด์ง„ Filter ํ•จ์ˆ˜ ใ…Žใ…ใ…Ž
โ€‹
์ด๋ฒˆ์—๋Š” ๋‚™๋ขฐ ๊ฐ•๋„(Value)๊ฐ€ 0์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋งŒ! ์ด๋‹ˆ๊นŒ ์กฐ๊ฑด์„ ์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

Value != 0

 

๐Ÿ‘. ๐จ๐ฎ๐ญ๐ฅ๐ข๐ž๐ซ ๐๐ž๐ญ๐ž๐œ๐ญ๐ข๐จ๐ง

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์ด ์‹ค์Šต์˜ ๋ฉ”์ธ ํฌ์ธํŠธ, ์ด์ƒ์น˜๋ฅผ ํƒ์ง€ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด๋ณผ๊ฒŒ์š”.

Outlier Detection (Local Outlier Factor) ํ•จ์ˆ˜๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋ถˆ๋Ÿฌ์™€์ค๋‹ˆ๋‹ค.
Input columns ๋กœ ๊ฒฝ๋„(Longitude)์™€ ์œ„๋„(Latitude)๋ฅผ ์„ ํƒํ•ด์ค€ ํ›„ Result๋Š” Remove Outliers!
๋‚˜๋จธ์ง€๋Š” ๊ทธ๋Œ€๋กœ ๋‘” ํ›„ ์‹คํ–‰ํ•ด์ฃผ์–ด ๋‹ค์‹œ ์‚ฐ์ ๋„๋กœ ํ™•์ธํ•ด๋ณด๋ฉด ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ˆ˜์น˜ ์ƒ์œผ๋กœ๋„ ์ด 194๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ๋‹ค๊ณ  ๋‚˜์˜ค๊ณ , ๋ˆˆ์œผ๋กœ ๋ณด๊ธฐ์—๋„ ์•„๊นŒ์˜ ์‚ฐ์ ๋„ ๋ถ„ํฌ์™€ ์ฐจ์ด๊ฐ€ ์žˆ๋„ค์š”.

 


์—ฌ๊ธฐ์„œ ์ž ๊น! Outlier Detection ์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์ด ๋„ค ๊ฐœ์˜ ํ•จ์ˆ˜๊ฐ€ ๊ฒ€์ƒ‰๋˜๋Š”๋ฐ์š”,


๋จผ์ € ์œ„ ๋‘ ํ•จ์ˆ˜์™€ ์•„๋ž˜ ๋‘ ํ•จ์ˆ˜๋Š” ๊ด„ํ˜ธ ์•ˆ ๋‚ด์šฉ์ด ๋‹ค๋ฅธ๋ฐ์š”,

Local Outlier Factor์™€ Tukey/Carling์€ ์ด์ƒ์น˜๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

LOF๋Š” ์ฃผ๋ณ€ ๋ฐ€๋„, Tukey์™€ Carling ๋ฐฉ๋ฒ•์€ ๊ฐ๊ฐ ์‚ฌ๋ถ„์œ„ ๋ฒ”์œ„์™€ ์ค‘์œ„์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ํƒ์ง€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
(ํ•ด๋‹น ํ•จ์ˆ˜ ๋‚ด์—์„œ Tukey, Carling์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด์š”.)

๊ทธ๋ฆฌ๊ณ  ํ•จ์ˆ˜ ์ด๋ฆ„์— Model์ด ์—†๋Š” ๊ฒƒ์ด ์ด์ƒ์น˜๋ฅผ ๊ฒ€์ถœํ•˜๋Š” ํ•จ์ˆ˜์ด๊ณ , ์žˆ๋Š” ํ•จ์ˆ˜๋Š” ๊ทธ ์ด์ƒ์น˜๋ฅผ ๊ฒ€์ถœํ•ด ์ œ์™ธํ•˜๋Š” ๋ชจ๋ธ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค!


๐Ÿ’. ๐ญ๐ž๐ฌ๐ญ ๐๐š๐ญ๐š

ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ์ด์ƒ์น˜ ํƒ์ง€ ๋ชจ๋ธ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ์ด์ƒ์น˜๋ฅผ ๊ฐ์ง€, ์ œ๊ฑฐํ•ด๋ณผ๊นŒ์š”?
ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋„ ์ด์ „๊ณผ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ Load ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์™€์ฃผ๊ณ , Filter ํ•จ์ˆ˜๋กœ Value ๊ฐ’์ด 0์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฝ‘์•„๋ด…๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ์—๋Š” Outlier Detection (Local Outlier Factor) Model ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€์„œ,
๊ธฐ์กด์˜ Outlier Detection ํ•จ์ˆ˜์™€ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ Filter ํ•จ์ˆ˜ ๋‘ ๊ฐ€์ง€๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ ๋„๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด?
์ด ๋ฐ์ดํ„ฐ๋Š” ์ด 16๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ ์ค‘ 10๊ฐœ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์–ด์š”.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฐ์ ๋„๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค!

 



์—ฌ๊ธฐ๊นŒ์ง€ ๋ฐ์ดํ„ฐ์—์„œ ์ด์ƒ์น˜๋ฅผ ํƒ์ง€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ „์ฒ˜๋ฆฌ์—์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•  ์‹ค์Šต๋“ค๋„ ๊ฑฐ์˜ ๋งˆ๋ฌด๋ฆฌ ๋˜๋„ค์š”!

๋‹ค์Œ์—๋Š” ๋ฐ์ดํ„ฐ ์ค‘์—์„œ๋„ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ๋‹ด์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!