๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋น…๋ฐ์ดํ„ฐ (8)

DATA101

[์„ค๋ฌธ] ๐Ÿ“Text ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„(NLP) ๊ฒฝํ—˜๋‹ด์„ ๋“ค๋ ค์ฃผ์„ธ์š”! (๋„ค์ด๋ฒ„ํŽ˜์ด 1๋งŒ ์›๐Ÿ’ธ)

๐Ÿ‘‹ ์•ˆ๋…•ํ•˜์„ธ์š”, ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”Œ๋žซํผ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” DATA101 ํŒ€์ž…๋‹ˆ๋‹ค.๐Ÿ˜Š ์ง์ ‘ Text ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •๋ณ„๋กœ ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์ด ์žˆ๋Š”์ง€ ๊ฒฝํ—˜๋‹ด์„ ๋“ค๋ ค์ฃผ์„ธ์š” :)๐Ÿ‘จ‍๐Ÿ’ป ์ฃผ๊ด€์‹์„ ํฌํ•จํ•œ ๋ชจ๋“  ์„ค๋ฌธ ํ•ญ๋ชฉ์— ์„ฑ์‹คํ•˜๊ฒŒ ๋‹ต๋ณ€ํ•ด ์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๋„ค์ด๋ฒ„ ํŽ˜์ด ์ฟ ํฐ 10,000์›์„ ๋ฐœ์†กํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ’ธ ๐Ÿ“ ์†Œ์š”์‹œ๊ฐ„ : 10๋ถ„ ๋‚ด์™ธ๐Ÿ“† ์ฐธ์—ฌ๊ธฐ๊ฐ„ : ~'24๋…„ 10์›” 29์ผ 23์‹œ 59๋ถ„๊นŒ์ง€โœ… ์ฟ ํฐ์ง€๊ธ‰ : ์ฐธ์—ฌ ํ›„ 72์‹œ๊ฐ„ ๋‚ด ์ฃผ1) ์ฃผ๊ด€์‹ ๋‹ต๋ณ€ ๋ฏธ์ž‘์„ฑ or ์งˆ๋ฌธ๊ณผ ๋ฌด๊ด€ํ•œ ๋‹ต๋ณ€ ์‹œ ์ฟ ํฐ ๋ฏธ๋ฐœ์†ก์ฃผ2) ๋ชฉํ‘œ ์„ค๋ฌธ์‘๋‹ต ์ˆ˜ ๋‹ฌ์„ฑ ์‹œ ์ฐธ๊ฐ€์ž ๋ชจ์ง‘์ด ์กฐ๊ธฐ์— ์ข…๋ฃŒ๋˜๋ฉฐ ์ค‘๋ณต ์ฐธ์—ฌ ๋ถˆ๊ฐ€ ๐Ÿ‘‰ ์„ค๋ฌธ ์ฐธ์—ฌ ๋งํฌ : https://walla.my/v/mLImX8T0KzQL4Hwv5sjn?source=J7t8n Text ๋น…๋ฐ์ดํ„ฐ..

[Python] matplotlib.pyplot.savefig ํŒŒ์ผ ์ €์žฅ ์‹œ ์—ฌ๋ฐฑ ์ œ๊ฑฐ ๋ฐฉ๋ฒ•

๐Ÿ‘จ‍๐Ÿ’ป 1.  ๊ฐœ์š”๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ํŒŒ์ด์ฌ matplotlib.pyplot ํŒจํ‚ค์ง€๋ฅผ ํ™œ์šฉํ•œ ์‹œ๊ฐํ™” ์ž๋ฃŒ ์ €์žฅ ์‹œ ์ž๋ฃŒ ๋‚ด ๋ถˆํ•„์š”ํ•œ ์—ฌ๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.๐Ÿค– 2.  ๋ฌธ์ œ์ ์•„๋ž˜ (๊ทธ๋ฆผ 1)๊ณผ ๊ฐ™์ด, matplotlib ์˜ต์…˜ ์„ค์ • ์—†์ด ์‹œ๊ฐํ™” ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ๋ž˜ํ”„ ์ฃผ๋ณ€ ์‚ฌ๋ฐฉ์œผ๋กœ ๋ถˆํ•„์š”ํ•œ ์—ฌ๋ฐฑ์ด ๋งŽ์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ณด๊ณ ์„œ๋‚˜ ๋Œ€์‹œ๋ณด๋“œ ๋“ฑ์— ํ™œ์šฉ ์‹œ ๋‹ค๋ฅธ ์ฐจํŠธ๋“ค๊ณผ์˜ ์‹ฌ๋ฏธ์„ฑ ์žˆ๋Š” ์กฐํ™”๋ฅผ ๋ฐฉํ•ดํ•˜๋Š” ์š”์†Œ๊ฐ€ ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. [์˜ˆ์‹œ ์ฝ”๋“œ - savefig ๋ฉ”์†Œ๋“œ ์˜ต์…˜ ๋ฏธ์„ค์ •]# ํŒจํ‚ค์ง€ ์„ค์น˜ ํ•„์š” : pip install matplotlibimport matplotlib.pyplot as plt# ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑplt.plot([1, 2, 3, 4])plt.ylabel('some nu..

[Python] ์›” ๋‹จ์œ„ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” ๋ฐ ์‹œ๊ฐํ™”ํ•˜๊ธฐ

๐Ÿ’ก ๋“ค์–ด๊ฐ€๋ฉฐ ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์›” ๋‹จ์œ„๋กœ ์นด์šดํŒ…ํ•˜๊ณ  ์ด๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. 1. ํŒจํ‚ค์ง€ import import pandas as pd import numpy as np import matplotlib.pyplot as plt 2. ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ํฌ์ŠคํŒ…์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์…‹์€ ๊ณต์œ ๊ฐ€ ๋ถˆ๊ฐ€ํ•˜์˜ค๋‹ˆ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ๋งŒ ๋ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. DATASET = pd.read_csv('./dataset_app_review.csv') DATASET.head() 3. ๋ฐ์ดํ„ฐ ํƒ€์ž… ํ™•์ธ DATASET.dtypes ์•„๋ž˜์™€ ๊ฐ™์ด, ๋‚ ์งœ ์ •๋ณด(date)๋Š” ํ˜„์žฌ ์ •์ˆ˜ํ˜•(int)์ž…๋‹ˆ๋‹ค. ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‚ ์งœํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ด๋ฅผ datetime ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์ค„ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 4. ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€๊ฒฝ "์—ฐ-..

[Python] Numpy ๊ธฐ๋ฐ˜ ํŠน์ • ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ ์ฐพ๊ธฐ/๋ฐ”๊พธ๊ธฐ(One-hot Encoding)

๐Ÿ’ก ๋“ค์–ด๊ฐ€๋ฉฐ Numpy ํŒจํ‚ค์ง€์˜ where ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์—์„œ ํŠน์ • ์กฐ๊ฑด์— ๋งž๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ฐพ๊ฑฐ๋‚˜, ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ numpy ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ import๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. !pip install numpy import numpy as np 1. ์กฐ๊ฑด์— ๋งž๋Š” ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜ ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ๊ฑด๋ฌธ์„ ์ž…๋ ฅํ•˜๋ฉด, ์กฐ๊ฑด์— ํ•ด๋‹น๋˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. np.where(์กฐ๊ฑด๋ฌธ) ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์…‹์ด ์žˆ์„ ๋•Œ, THK ์นผ๋Ÿผ ๋‚ด ๊ฐ’์ด 30๋ณด๋‹ค ํฐ ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ์กฐํšŒํ•ด ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. np.where(30 < DATASET_RAW['THK']) 2. ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ ์•„๋ž˜์™€ ๊ฐ™์ด, ์กฐ๊ฑด๋ฌธ๊ณผ ํ•จ๊ป˜ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ ํ˜น์€ ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ ๊ฐ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ๊ฐ’์„ ์ž…๋ ฅํ•ด ..

[Python] pandas ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ๋ฌธ์ž์—ด ๋ฐ”๊พธ๊ธฐ(replace, str.replace ํ•จ์ˆ˜)

๐Ÿ“Œ Text ๋น…๋ฐ์ดํ„ฐ๋ถ„์„ ํ”Œ๋žซํผ ๋ฒ ํƒ€ํ…Œ์ŠคํŠธ ์ฐธ๊ฐ€์ž ๋ชจ์ง‘ ์ค‘!(๋„ค์ด๋ฒ„ํŽ˜์ด 4๋งŒ ์› ์ „์› ์ง€๊ธ‰) ๐Ÿ‘‹ ์•ˆ๋…•ํ•˜์„ธ์š”, ์ฝ”๋”ฉ์ด ํ•„์š” ์—†๋Š” AI/๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ All in One ํ”Œ๋žซํผ  ๊ฐœ๋ฐœํŒ€์ž…๋‹ˆ๋‹ค.๐Ÿ˜Š ์ €ํฌ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์‹œ๊ณ  ๊ฒฝํ—˜๋‹ด์„ ๋“ค๋ ค์ฃผ์„ธ์š” :)๐Ÿ’ธ ์ฐธ์—ฌํ•ด ์ฃผ์‹  "๋ชจ๋“ " ๋ถ„๋“ค๊ป˜ ๋„ค์ด๋ฒ„ํŽ˜์ด 4๋งŒ ์› ์ฟ ํฐ์„ ์ง€๊ธ‰ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.๐Ÿ‘จ‍๐Ÿ’ป ์ฐธ์—ฌ ํฌ๋ง ์‹œ ์นดํ†กํ”Œ๋Ÿฌ์Šค์นœ๊ตฌ 1:1 ์ฑ„ํŒ… or ์ธ์Šคํƒ€๊ทธ๋žจ DM ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค :)๐Ÿ“† ์ฐธ์—ฌ๊ธฐ๊ฐ„ : 11/25(์›”)~11/29(๊ธˆ) 11:00~21:00 ์ค‘ ํƒ1 (1์‹œ๊ฐ„ 1ํƒ€์ž„)๐Ÿ‘‰ ์ฐธ์—ฌ์žฅ์†Œ : ๊ฐ•๋‚จ์—ญ ์ธ๊ทผ ์Šคํ„ฐ๋””์นดํŽ˜ ๋ฏธํŒ…Room๐Ÿ“ ์†Œ์š”์‹œ๊ฐ„ : ์ด 40๋ถ„ ๋‚ด์™ธ(์„œ๋น„์Šค ์ฒดํ—˜ ๋ฐ ์ธํ„ฐ๋ทฐ ํฌํ•จ)โœ… ์ฐธ๊ฐ€์กฐ๊ฑด : Text ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ์—…๋ฌด ๊ฒฝํ—˜์ž๐Ÿ‘‰ ์ฐธ๊ฐ€ ๊ฐ€๋Šฅ์ผ์ • ์กฐํšŒํ•˜๊ธฐ : ht..

Boxplot ๊ทธ๋ž˜ํ”„ ํ•ด์„๋ฐฉ๋ฒ•(์ด์ƒ์น˜ ํƒ์ƒ‰๋ฐฉ๋ฒ•)

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” Boxplot๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด ์„ธ๋กœ์ถ•์€ ํŠน์ • ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ์ด ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ํŒŒ๋ž€์ƒ‰ ๋ฐ•์Šค ์•ˆ์— ๋ถ„ํฌํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ž€์ƒ‰ ๋ฐ•์Šค ๊ฐ€์šด๋ฐ ๋…ธ๋ž€์ƒ‰ ์ง์„ ์œผ๋กœ ํ‘œ์‹œํ•œ ๋ถ€๋ถ„์ด ๋ฐ์ดํ„ฐ์˜ ์ค‘์•™๊ฐ’(Median)์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ•์Šค ์ตœ์ƒ๋‹จ์€ ์ œ3 ์‚ฌ๋ถ„์œ„์ˆ˜(Q3, 75th percentile), ์ตœํ•˜๋‹จ์€ ์ œ1 ์‚ฌ๋ถ„์œ„์ˆ˜(Q1, 25th percentile)์ž…๋‹ˆ๋‹ค. ์‚ฌ๋ถ„์œ„์ˆ˜(Quantile)๋ž€ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋‹ค์Œ 25%์”ฉ ๋™์ผํ•œ ๋น„์œจ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ œ1 ์‚ฌ๋ถ„์œ„์ˆ˜(Q1)๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ ์ „์ฒด ์ค‘ 25% ๋น„์œจ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ(25%) ์˜๋ฏธํ•˜๊ณ , ์ œ3 ์‚ฌ๋ถ„์œ„์ˆ˜(Q3)๋Š” ์ค‘์•™๊ฐ’(50%)์—์„œ๋ถ€ํ„ฐ 25% ๋น„์œจ๋งŒํผ์˜ ๋ฐ์ด..

[Python] ์œ ํŠœ๋ธŒ ์ฝ˜ํ…์ธ  ํฌ๋กค๋Ÿฌ ์ฝ”๋“œ Version 1.0.1

๐Ÿ“ ๋ชฉ์ฐจ Update Log 1. ์ฃผ์š” ๊ธฐ๋Šฅ 2. ํฌ๋กฌ ์„ค์น˜ 3. ์ „์ฒด ์ฝ”๋“œ 4. ํŒจํ‚ค์ง€ ์„ค์น˜ 5. ์ฝ”๋“œ ์„ค๋ช… ๐Ÿ›  Update Log ๐Ÿ‘ Version 1.0.1 @ 2022-10-11 (1) ์ฝ˜ํ…์ธ  ์กฐํšŒ์ˆ˜ ๋ฐ ์—…๋กœ๋“œ์ผ ์ถ”์ถœ ๋กœ์ง ์ถ”๊ฐ€ Heo Jin ๋‹˜ ์š”์ฒญ์‚ฌํ•ญ์œผ๋กœ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ์™„๋ฃŒํ•˜์˜€์Šต๋‹ˆ๋‹ค. 1. ์ฃผ์š” ๊ธฐ๋Šฅ ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์œ ํŠœ๋ธŒ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ฝ˜ํ…์ธ ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” Scraper๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. โ€ป Scrap์ด๋ž€?('๋”๋ณด๊ธฐ' ํด๋ฆญ) ๋”๋ณด๊ธฐ Scrap[์Šคํฌ๋žฉ]์€ ์›น ํŽ˜์ด์ง€์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ํ–‰๋™์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ Data Scraping์„ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ Data Scraper ๋˜๋Š” Web Scraper๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. (1) ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์ข…๋ฅ˜ - ์ฝ˜ํ…์ธ  ์ œ๋ชฉ - ์ฝ˜ํ…์ธ  ๋งํฌ - ์กฐํšŒ์ˆ˜ - ์—…..

PySpark ๊ฐœ๋… ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ(+Apache Spark)

๋“ค์–ด๊ฐ€๋ฉฐ PySpark, ๋ฐ์ดํ„ฐ ๋ถ„์„/์—”์ง€๋‹ˆ์–ด๋ง ํ˜น์€ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ์— ๊ด€์‹ฌ ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ณด์…จ์„ ๊ธฐ์ˆ  ์Šคํƒ์ด์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” PySaprk์˜ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 1. PySpark ๊ฐœ๋… PySpark๋Š” Python ํ™˜๊ฒฝ์—์„œ Apache Spark๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ฆ‰, PySpark๋Š” Spark์šฉ API์ด๊ธฐ ๋•Œ๋ฌธ์— PySpark ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ ค๋ฉด Spark์— ๋Œ€ํ•ด ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apache Spark ๊ฐœ๋… Apache Spark๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์œผ๋กœ, ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ(Distributed Computing Platform)์ž…๋‹ˆ๋‹ค. Apache Spark๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋“œ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ์— ์บ..