βνμλ€μ μ¨λΌμΈ μμ μ±μ μμΈ‘ λͺ¨λΈ ꡬμΆ
νλ‘μ νΈ κ°μ
μ½λ‘λ 19 μν© μμμ μ¨λΌμΈ μμ μ λν μ°κ΅¬κ° νλ°μ μΌλ‘ μ¦κ°νμ΅λλ€. ν¬λ°λ―Ή λμ νμλ€μ κ΅μ‘ λλΆλΆμ΄ μ¨λΌμΈμΌλ‘ μ΄λ£¨μ΄μ‘κ³ , μ΄λ μ¨λΌμΈ μμ μ μ§μ κ°μ μν€κΈ° μν κ³κΈ°κ° λμμ΅λλ€. κ΅μ‘ν μ λ¬Έκ°λ€μ νμλ€μ νμ μ±μ·¨λλ₯Ό λμ΄λ κ°μ₯ ν¨κ³Όμ μΈ λ°©λ² μ€ νλκ° νμ΅νκ° λ°©μμ κ°νμ΄λΌκ³ λ°νμ΅λλ€. κ·Έλ¬νμ¬ μ΄ νλ‘μ νΈλ νμμ μ¨λΌμΈ μμ ννλ₯Ό κΈ°λ°μΌλ‘ νμ μ±μ·¨λλ₯Ό μμΈ‘νλ λͺ¨λΈμ κ°λ°νλ κ²μ λͺ©νλ‘ ν©λλ€. μ¨λΌμΈ μμ μ λν μκ°μ, κ°μ’, κ°μ¬ λ±μ ν¬ν¨ν μν λκ·λͺ¨ μ€ν λ°μ΄ν° μ μ₯μμΈ MOCCubeλ₯Ό μ¬μ©νμμΌλ©°, k-means clutring, fuzzy logic λ° multi-regression μκ³ λ¦¬μ¦μ μ΄μ©νμ΅λλ€.
Objectives
νμλ€μ μ¨λΌμΈ νμ΅ ννλ₯Ό κΈ°λ°μΌλ‘ νμ μ±μ·¨λ μμΈ‘ λͺ¨λΈ κ°λ°β
β
-
K-means clusteringμ μ μ©νμ¬ νμλ€μ μ¨λΌμΈ νμ΅ νλ λΆλ₯
-
νμ΅ νλμ κ΄ν κ·μΉμ λ°λΌ νμ μ±μ·¨λλ₯Ό μμΈ‘νκΈ° μν fuzzy μΆλ‘ μμ€ν μ€κ³
-
fuzzy λ‘μ§ μμ€ν κ³Ό multi-regression λͺ¨λΈμ νμ νμ μ±μ·¨λ μμΈ‘ μ±λ₯ λΉκ΅
Data Preparation
MOOCubeλ μμ 706κ°, λΉλμ€ 38,181κ°, κ°λ 114,563κ°, μ¬μ©μ 199,199λͺ μ λν λ°μ΄ν°λ₯Ό κ°μ§κ³ μμ΅λλ€.
β
WHAT
MOOCubeμ ν¬ν¨λμ΄ μλ 700κ°, 38Kκ°μ λΉλμ€, 114Kκ°μ κ°λ , 199K λͺ μ μ¬μ©μ, μ§μκ·Έλν λλ νμ μ§μ κ°μ λ³΅ν© λ°μ΄ν° μ€μμ, μλ λ€κ°μ μ¨λΌμΈ νμ΅ νλμ μΆμΆνμ΅λλ€.
β
-
the average watching count: νμμ΄ νΉμ κ°μλ₯Ό μ΄μ΄λ³΄λ νμ
-
the average completion percentage: ν κ°μλ₯Ό λλ΄λλ° κ±Έλ¦¬λ νκ· μκ°
-
courses count: νμμ΄ μκ°λ±λ‘ν κ°μ κ°―μ
-
average enroll time: νμμ΄ μκ°λ±λ‘μ ν μκ°β
β
β
HOW
user idλ κ° λ°μ΄ν°λ₯Ό μ§μ νλ primary key μν μ ν©λλ€. 'user.json' νμΌμλ 199,199κ°μ user idsκ° μκ³ , 'user video act.json'μλ 8,640κ°μ user idsκ° μμμ νμΈνμ΅λλ€. Inner joinμ μ΄μ©νμ¬ 'user.json'κ³Ό 'user video act.json' λ νμΌμ 곡ν΅μΌλ‘ μ μ₯λμ΄ μλ 48,640κ°μ μ μ κΈ°λ‘μ μΆμΆνμ΅λλ€. ‘user video act.json’ νμΌμ λ°μ΄ν° μμμ λκ°μ μ¨λΌμΈ νλ νΉμ§ (average watching count, average completion percentage)μ μ°Ύμ μ μ¬νκ³ , λ€λ₯Έ λκ°μ μ¨λΌμΈ νλ νΉμ§ (courses count, average enroll time)μ 'user.json'μμ μ°Ύμ μ μ₯ν©λλ€.

β
MOOCubeμλ νμλ€μ μ±μ λ°μ΄ν°κ° ν¬ν¨λμ΄ μμ§ μκΈ° λλ¬Έμ, μμΈ‘ λͺ¨λΈ κ°λ° λ° νλ ¨μ μν΄μ μ±μ μ randomly assign ν΄μΌνμ΅λλ€. random μ±μ λ€μ λ€μκ³Ό κ°μ λ°©μμΌλ‘ κ²°μ λμμ΅λλ€: λ¨Όμ min-max λ°©μμ μ΄μ©νμ¬ λ€κ°μ μ¨λΌμΈ νλλ€μ μ κ·ν (normalize) μν¨ ν λͺ¨λ λν©λλ€. μ΄ν μ΄ μ«μλ€μ 100μ κ³±νμ¬ scale up μν¨ ν νμλ€μ μ΅μ μ μκ° 50μ΄λΌκ³ κ°μ ν μ μλλ‘ 50 μ λν©λλ€. μ΄ random μ±μ λ€μ ν¬ν¨ν νμλ³ λ€κ°μ μ¨λΌμΈ νλλ€μ λν λ°μ΄ν°λ₯Ό 'master data.csv'λ‘ λ°λ‘ μ μ₯ν©λλ€ (Table 1).

Table 1
Multiple Regression Model

Diagram 1
μ¨λΌμΈ μμ μ μ΄μν νΌμΌνΈ (the average completion rate)μ΄ μ±μ μ κ°μ₯ ν° μν₯μ μ€λλ€.
β
μ΄ νλ‘μ νΈλ λ€κ°μ§ μ¨λΌμΈ νμ΅ ννκ° μλ‘ κΈ΄λ°νκ³ μ νμ μΌλ‘ μ°κ΄λμ΄ μλ€κ³ κ°μ ν©λλ€. λ€μ€ νκ· λͺ¨λΈ (multi-regression)μ μ Diagram 1μμ λ³Ό μ μλ―μ΄ λ€ κ°μ§ μ¨λΌμΈ νμ΅ ννλ₯Ό λμμ μ·¨ν©νμ¬ μ±μ μ μμΈ‘ν©λλ€. νμμ νμ μ±μ·¨λλ₯Ό μμΈ‘νκΈ° μν λ€μ€ νκ· λͺ¨λΈμ νλ ¨μμΌλ³Έ κ²°κ³Ό, λ€ κ°μ§ λ§€κ°λ³μ λͺ¨λ νμ μ±μ·¨λμ μμ μκ΄κ΄κ³ (positive correlation)μ΄ μμμ μ μ μμμ΅λλ€. κ²°κ³Όλ λ€μκ³Ό κ°μ΄ μμ½λ©λλ€:
β
-
μμμ 1μ΄ λ λ³Ό κ²½μ°, μ±μ μ΄ 0.191λ§νΌ μ¦κ°
-
μμμ 1% λ λ§μ΄ 보μμ κ²½μ°, μ±μ μ΄ 1.215λ§νΌ μ¦κ°
-
1κ°μ μμ μ λ μ μ²ν νμμ κ²½μ°, μ±μ μ΄ 0.160λ§νΌ μ¦κ°
-
μκ°μ μ²μ 1μκ° λ λ¦κ²ν κ²½μ°, μ±μ μ΄ 1.087λ§νΌ μ¦κ°
β
λ€ κ°μ§ μ¨λΌμΈ νμ΅ νν μ€μμ μ¨λΌμΈ μμ μ΄μ νΌμΌνΈ (average completion rate)κ° νμ μ±μ·¨λμ κ°μ₯ ν° μν₯μ μ£Όλ κ²μΌλ‘ λνλ¬μ΅λλ€.
β
μ νλ 99.9%, λ°±λΆμ¨ μ€μ°¨ 5.11%
β
λ€μκ³Ό κ°μ μ¨λΌμΈ νμ΅ ννλ₯Ό κ°μ§ νμμ΄ μλ€κ³ κ°μ ν΄λ³΄λ©΄,
μ¨λΌμΈ κ°μ νκ· 5.8ν μμ²
μ¨λΌμΈ κ°μ νκ· 61.67% μ΄μ
νκ· μ μΌλ‘ μ€ν 3μμ νκ· 4κ°μ μμ μ λ±λ‘
λ€μ€ νκ· λͺ¨λΈμ μ νμμ μ±μ μ 64.5λ‘ μμΈ‘ν©λλ€. μ¬μ€ μ΄ νμμ master_data.csvμ λ§μ§λ§ νμμ΄μμΌλ©° train data μμ μ μΈλμλ νμμ λλ€. μ΄ νμμκ² randomly assigned λμλ μ±μ μ 67.97 μμ΅λλ€. μ¦ λ€μ€ νκ· λͺ¨λΈμ μ νλ (R2 μ€μ½μ΄)κ° 99.99%, λ°±λΆμ¨ μ€μ°¨κ° 5.11%μΈ μ±λ₯μ κ°μ§κ³ μμ΅λλ€.
β
Fuzzy Model
Model Architecture
βμ΄ νλ‘μ νΈμ Fuzzy λͺ¨λΈμ νλ²μ λκ°μ§ μ¨λΌμΈ νμ΅ ννλ§ λΆμν©λλ€. λ°λΌμ λ€κ°μ§ μ¨λΌμΈ ννλ₯Ό λͺ¨λ λΆμνκΈ° μν΄ λ κ°μ νΌμ§ λͺ¨λΈμ΄ κ°λ°λμμ΅λλ€. νΌμ§λͺ¨λΈ 1μ κ°μ μμ²μ λν μ¨λΌμΈ νμ΅ νλλ€ (average video watching cound & average video completion rate)μ μ ννμκ³ νΌμ§ λͺ¨λΈ 2λ μκ°μ μ² μ΅κ΄ (course count & average enrollment time)μ μ ννμμ΅λλ€. Diagram 2λ νΌμ§λͺ¨λΈ 1μ ꡬ쑰λ₯Ό 보μ¬μ€λλ€.

Diagram 2
K-means Clustering
K-means ν΄λ¬μ€ν°λ§μ Fuzzy μμ€ν γ μμ νμλ€μ νμ μ±μ·¨λλ₯Ό λͺλ¨κ³λ‘ λ±κΈν ν΄μΌνλμ§ κ²°μ νκΈ° μν΄ νμ©λμμ΅λλ€. κ²°κ³Όμ μΌλ‘ 4λ¨κ³λ‘ μ±μ μ λΆλ₯νκΈ°λ‘ νμμΌλ©° Chart 1μ νΌμ§λͺ¨λΈ1μ ν΄λ¬μ€ν°λ₯Ό, Chart 2λ νΌμ§λͺ¨λΈ 2μ λν ν΄λ¬μ€ν°λ₯Ό 보μ¬μ€λλ€.


Chart 1
Chart 2
Fuzzy Rules


Table 2


Table 3
λ°±λΆμ¨ μλ¬ 3.66%
λ€μ€ νκ· λͺ¨λΈμ ν μ€νΈνλ νμμ λ°μ΄ν°λ₯Ό νΌμ§λͺ¨λΈ ν μ€νΈμλ μ΄μ©νμ΅λλ€.
β
νΌμ§λͺ¨λΈ1μ λ°λ₯΄λ©΄ μ΄ νμμ κ°μ μμ² μ΅κ΄μ Chart 3μμ λ³Ό μ μλ―μ΄ νκ· μ±μ μ΄ 57.34μΌ κ²μΌλ‘ μμΈ‘λ©λλ€. νΌμ§λͺ¨λΈ2λ μ΄ νμμ μκ° μ μ² μ΅κ΄μ λ―Έλ£¨μ΄ λ³΄μ νκ· μ±μ μ΄ 73.62 μΌ κ²μΌλ‘ μμΈ‘νμ΅λλ€. λ κ°μ μ±μ μ νκ· κ°μ 65.48 μ λλ€. μμ μΈκΈνλ―μ΄, μ΄ νμμ randomly assigned μ±μ μ 67.97 μμ΅λλ€. μ¦ νΌμ§λͺ¨λΈμ λ°±λΆμ¨ μ€λ₯λ 3.66%λ‘ λ€μ€ νκ· λͺ¨λΈμ λ°±λΆμ¨ μ€μ°¨ (5.11%)λ³΄λ€ μμ΅λλ€.

Chart 3

Chart 4
Limitation
무μμ ν λΉλ μ±μ
MOOCube κ° νμλ€μ μ±μ μ μ 곡νκ³ μμ§ μκΈ° λλ¬Έμ μ΄ νλ‘μ νΈλ νμλ€μ΄ μ¨λΌμΈ νλ κ΄λ ¨ λ°μ΄ν°λ₯Ό μ κ·ν μν¨ κ²°κ³Όλ‘ λ§λ€μ΄μ§ random μ±μ μ λΆμ¬νμ΅λλ€. μ€μ μ±μ μ κΈ°λ°μΌλ‘ νλ ¨λ μμΈ‘ λͺ¨λΈμ΄ μλκΈ° λλ¬Έμ μ±λ₯μ΄ λΉκ΅μ λ§μ΄ λΆμ‘±ν©λλ€.
μ¨λΌμΈ νλμ λμ μμΈ‘λΆκ°λ₯μ±
μμλ‘ μ ν΄μ§ νμλ€μ μ±μ κ³Ό λλΆμ΄ μ΄ νλ‘μ νΈμ λλ€λ₯Έ limitationμ νμλ€μ μ¨λΌμΈ νμ΅ νλμ μν₯μ λΌμΉ μ μλ μμΈ‘λΆκ°λ₯ν λ³μλ€μ λ°°μ νλ€λ μ μ λλ€. λλ©΄ μμ κ³Ό λ¬λ¦¬, μ¨λΌμΈ μμ μ κ²½μ° νμλ€μ΄ νμ΅ νλμ ν΅μ νκΈ°κ° κ±°μ λΆκ°λ₯ν©λλ€. μλ₯Ό λ€μ΄, μ΄λ€ νμμ΄ μλ²½ν μ¨λΌμΈ κ°μ μκ°λ₯ μ κ°μ§κ³ μλ€κ³ ν΄λ, μ΄ νμμ΄ κ°μ λΉλμ€μ μμ ν μ§μ€νμ¬ λ€μλμ§, κ·Έμ νμ΄λκΈ°λ§ νλμ§ μκΈ°κ° μ΄λ ΅κΈ° λλ¬Έμ μ΄λ₯Ό λ°νμΌλ‘ νμμ νμ μ±μ·¨λλ₯Ό μμΈ‘νλ κ²μ λ ν° μ΄λ €μμ΄ μμ΅λλ€. κ·ΈλΌμλ λΆκ΅¬νκ³ μ΄ νλ‘μ νΈλ λ‘κ·Έ λ°μ΄ν°λ‘ κΈ°λ‘λ νμλ€μ μ¨λΌμΈ νμ΅ νλμ΄ μ€μ νμ΅ νλκ³Ό μλ²½ν μΌμΉν κ²μ΄λΌλ κ°μ μ νκ³ μκΈ°λλ¬Έμ, μ΄ νλ‘μ νΈμμ κ°λ° λ° νλ ¨λ νμ μ±μ·¨λ μμΈ‘ λͺ¨λΈμ μ€λ₯λ₯Ό λ°μμν¬ νλ₯ μ΄ λμ΅λλ€.
SUMMARYβ
β
-
λ€κ°μ μ¨λΌμΈ νλλ€μ κΈ°λ°μΌλ‘ νμ μ±μ·¨λλ₯Ό μμΈ‘νλ μ±μ μμΈ‘ λͺ¨λΈ κ°λ° νλ‘μ νΈ
-
Avg watching count, avg completion rate, course count, avg enroll time β
-
-
K-means clustering μ μ΄μ©νμ¬ νμμ μ¨λΌμΈ νλμ λ€κ° λ¨κ³λ‘ ꡬλΆν¨
-
λκ°μ§ μ±μ μμΈ‘ λͺ¨λΈμ΄ κ°λ°λ¨: (1) Fuzzy λ‘μ§ λͺ¨λΈ (2) multi-regression λͺ¨λΈ
-
Fuzzy λͺ¨λΈμ΄ multi-regression λͺ¨λΈλ³΄λ€ λ μμ percent errorμ κ°μ§