<aside>
</aside>
μμ λ νλ‘μ νΈμμ μ°λ¦¬λ 'μ λ΅'μ΄ μλ λ°μ΄ν°λ₯Ό κ°μ§κ³ λ―Έλλ₯Ό μμΈ‘νλ **μ§λ νμ΅(Supervised Learning)**μ μΈκ³λ₯Ό νννμ΅λλ€. νμ§λ§ λ§μ½ μ°λ¦¬μκ² μ λ΅μ§κ° μλ€λ©΄ μ΄λ¨κΉμ? λ°μ΄ν° μμ μ¨κ²¨μ§ 보물μ μ§μ μ°Ύμλ΄μΌ νλ€λ©΄μ? μ΄λ² μκ°λΆν° μ°λ¦¬λ **λΉμ§λ νμ΅(Unsupervised Learning)**μ΄λΌλ μλ‘μ΄ μμμ λμ ν©λλ€. 첫 λ²μ§Έ κ³Όμ λ λλ§€μ μμ κ³ κ° λ°μ΄ν°λ₯Ό λ°νμΌλ‘, λΉμ·ν ꡬ맀 ν¨ν΄μ κ°μ§ κ³ κ° κ·Έλ£Ήμ μ°Ύμλ΄λ 'κ³ κ° μΈλΆν(Customer Segmentation)' νλ‘μ νΈμ λλ€. μ λ΅ μλ λ°μ΄ν° μμμ μ¨κ²¨μ§ μ§μλ₯Ό λ°κ²¬νλ ν₯λ―Έλ‘μ΄ μ¬μ μ μμν΄ λ΄ μλ€!
pycaret.clustering
λͺ¨λμ μ¬μ©νμ¬ λΉμ§λ νμ΅ νλ‘μ νΈλ₯Ό μμν μ€λΉλ₯Ό ν μ μμ΅λλ€.π‘ μ΄λ² μκ°μ κ°λ μ΄ν΄κ° μ€μνλ―λ‘ μ½λλ κ°λ¨ν©λλ€. λ°μ΄ν°λ₯Ό λΆλ¬μ ꡬ쑰λ₯Ό μ΄ν΄λ³΄λ©°, κ°μ₯ μ€μν νΉμ§μΈ **'νκ² λ³μμ λΆμ¬'**λ₯Ό μ§μ νμΈν©λλ€.
# 1. λΌμ΄λΈλ¬λ¦¬ μ€λΉ
from pycaret.datasets import get_data
# μ΄λ²μ κ΅°μ§ λΆμμ΄λ―λ‘ clustering λͺ¨λμ μ¬μ©ν©λλ€.
from pycaret.clustering import *
# 2. λ°μ΄ν° λΆλ¬μ€κΈ° ('wholesale' λ°μ΄ν°μ
)
wholesale_df = get_data('wholesale')
# 3. λ°μ΄ν° νμΈ
# 'Channel', 'Region' μΈμλ λͺ¨λ μ ν μΉ΄ν
κ³ λ¦¬λ³ μ°κ° μ§μΆμ‘μ
λλ€.
# μ°λ¦¬κ° μμΈ‘ν΄μΌ ν 'μ λ΅(Target)' 컬λΌμ΄ μ‘΄μ¬νμ§ μμ΅λλ€!
print(wholesale_df.head())
wholesale_df.head()
μ€ν κ²°κ³ΌFresh, Milk, Grocery λ± κ° κ³ κ°μ΄ μν μΉ΄ν κ³ λ¦¬λ³λ‘ μΌλ§λ μ§μΆνλμ§μ λν λ°μ΄ν°λ§ μμ λΏ, μ΄ κ³ κ°μ΄ 'μ°μ κ³ κ°'μΈμ§ 'μ΄ν μν κ³ κ°'μΈμ§ μλ €μ£Όλ μ λ΅ μ»¬λΌμ΄ μμ΅λλ€.
Channel Region Fresh Milk Grocery Frozen Detergents_Paper Delicassen
0 2 3 12669 9656 7561 214 2674 1338
1 2 3 7057 9810 9568 1762 3293 1776
2 2 3 6353 8808 7684 2405 3516 7844
3 1 3 13265 1196 4221 6404 507 1788
4. 2 3 22615 5410 7198 3915 1777 5185
graph TD
subgraph "μ§λ νμ΅ (Supervised Learning) π§ "
A["μ
λ ₯ λ°μ΄ν° (Features)"] -- μ λ΅κ³Ό ν¨κ» --> C{λͺ¨λΈ νμ΅};
B["μ λ΅ (Target)"] --> C;
C --> D[μμΈ‘ λͺ¨λΈ];
end
subgraph "λΉμ§λ νμ΅ (Unsupervised Learning) πΊοΈ"
E["μ
λ ₯ λ°μ΄ν° (Features only)"] -- μ λ΅ μμ΄ --> F{λͺ¨λΈ νμ΅};
F --> G["λ°μ΄ν°μ ꡬ쑰 λ°κ²¬ (μ: κ³ κ° κ·Έλ£Ή)"];
end