Overview

Open Source Recommendeation Engine

Concept

R4tings Recommender๋Š” Java์™€ Apache Spark ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ ์†Œ์Šค ์ถ”์ฒœ ์—”์ง„์ž…๋‹ˆ๋‹ค. ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„์„ ์œ„ํ•œ ํ•ต์‹ฌ์ฝ”๋“œ์™€ ํ™œ์šฉ ์˜ˆ์ œ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ์›Œํฌ๋ถ์„ ํ•จ๊ป˜ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ํ•ต์‹ฌ ์ฝ”๋“œ : ์ „ํ†ต์ ์ธ ํ†ต๊ณ„๋‚˜ ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ๋ฐ˜์˜ ์ถ”์ฒœ ๊ธฐ๋ฒ•๋“ค๊ณผ ์ ˆ์ฐจ๋ฅผ ๊ตฌํ˜„ํ•œ ํ•ต์‹ฌ ์ฝ”๋“œ๋Š” ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต๋˜๋ฉฐ, ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ™•์žฅํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์›Œํฌ๋ถ๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ : ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ํ•™์Šตํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋ฒ•์„ ์‹œํ—˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์šฉ ์ˆ˜์ค€์˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•  ๋•Œ ์ถœ๋ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฐธ์—ฌ์™€ ๊ธฐ์—ฌ๋ฅผ ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

Introduction

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

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

R4tings Recommender ํ”„๋กœ์ ํŠธ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ถ”์ฒœ ์—”์ง„์„ ๊ฐœ๋ฐœํ•˜๊ณ , ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ํ•ด ์œ ์ง€ ๋ฐ ๋ฐœ์ „๋  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ์—์ฝ” ์‹œ์Šคํ…œ ๊ตฌ์ถ•์„ ๋ชฉ์ ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

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

์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

Components

R4tings Recommender๋Š” ์ถ”์ฒœ์„ ์œ„ํ•œ ํ‰์  ์ ๊ทœํ™”์™€ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ, ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—… ํ•„ํ„ฐ๋ง๊ณผ ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง๊ณผ ๊ฐ™์€ ๋Œ€ํ‘œ์ ์ธ ํ‰์  ์˜ˆ์ธก๊ณผ ์•„์ดํ…œ ์ถ”์ฒœ ๊ธฐ๋ฒ•์— ๋Œ€ํ•œ ๊ตฌํ˜„์ฒด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Components

Rating Data

ํ‰์  ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์•„์ดํ…œ์— ๋งค๊ธด ๋ช…์‹œ์ ์ธ ํ”ผ๋“œ๋ฐฑ์ธ ํ‰์ ๋“ค์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ํ‰์  ๋ฐ์ดํ„ฐ์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ 2๊ฐ€์ง€ ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์˜ˆ์ œ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ์›Œํฌ๋ถ ์˜ˆ์ œ์ฝ”๋“œ
๋ฐ์ดํ„ฐ์…‹ ์‚ดํŽด๋ณด๊ธฐ ์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ๋ถํฌ๋กœ์‹ฑ ๋ฐ์ดํ„ฐ์…‹
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ๋ฌด๋น„๋ Œ์ฆˆ ๋ฐ์ดํ„ฐ์…‹
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ์˜ˆ์ œ ๋ฐ์ดํ„ฐ์…‹
DatasetPrepareTest.java
DatasetPrepareTest.R

Demos - Windows PowerShell

Components

Rating normalization

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

๊ตฌ๋ถ„ ๋Œ€์ƒ ์›Œํฌ๋ถ ์˜ˆ์ œ์ฝ”๋“œ ํ•ต์‹ฌ์ฝ”๋“œ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
ํ‰๊ท  ์ค‘์‹ฌํ™” ์ „์ฒด/์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
MeanCenteringTest.java
MeanCenteringTest.R
MeanCenteringNormalizer.java Download
Z์ ์ˆ˜ํ™” ์ „์ฒด/์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
ZScoreTest.java
ZScoreTest.R
ZScoreNormalizer.java Download
์ตœ์†Œ-์ตœ๋Œ€ํ™” ์ „์ฒด/์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
MinMaxTest.java
MinMaxTest.R
MinMaxNormalizer.java Download
์†Œ์ˆ˜ ์Šค์ผ€์ผ๋งํ™” ์ „์ฒด ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
DecimalScalingTest.java
DecimalScalingTest.R
DecimalScalingNormalizer.java Download
์ด์ง„ ์ž„๊ณ„ํ™” ์ „์ฒด ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
BinaryThresholdingTest.java
BinaryThresholdingTest.R
ThresholdBinarizer.java Download

Demos - Windows PowerShell

Components

Similarity calculations

์œ ์‚ฌ๋„ ๊ณ„์‚ฐ์€ ๋‹ค์ฐจ์› ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์•„์ดํ…œ์— ๋งค๊ธด ํ‰์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž๋‚˜ ์•„์ดํ…œ ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ ๋˜๋Š” ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๋ จ์„ฑ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ๋Œ€์ƒ ์›Œํฌ๋ถ ์˜ˆ์ œ์ฝ”๋“œ ํ•ต์‹ฌ์ฝ”๋“œ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
CosineSimilarityTest.java
CosineSimilarity.R
CosineSimilarityMeasurer.java Download
ํ”ผ์–ด์Šจ ์ƒ๊ด€๊ณ„์ˆ˜์™€ ์œ ์‚ฌ๋„ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
PearsonSimilarityTest.java
PearsonSimilarity.R
PearsonSimilarityMeasurer.java Download
์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ์™€ ์œ ์‚ฌ๋„ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
EuclideanSimilarityTest.java
EuclideanSimilarity.R
EuclideanSimilarityMeasurer.java Download
์ด์ง„ ์†์„ฑ๊ณผ ์œ ์‚ฌ๋„ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
ExtendedJaccardSimilarityTest.java
ExtendedJaccardSimilarity.R
ExtendedJaccardSimilarityMeasurer.java Download

Demos - Windows PowerShell

Components

Rating Predictions and Item Recommendations

์ด์›ƒ ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ

์ „ํ†ต์ ์ธ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ k-์ตœ๊ทผ์ ‘ ์ด์›ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฐ„ ๋˜๋Š” ์•„์ดํ…œ ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ๋Œ€์ƒ ์›Œํฌ๋ถ ์˜ˆ์ œ์ฝ”๋“œ ํ•ต์‹ฌ์ฝ”๋“œ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
์ด์›ƒ ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ๊ฐ€์ค‘ ํ‰๊ท  ๊ธฐ๋ฐ˜ ํ‰์  ์˜ˆ์ธก
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ๊ฐ€์ค‘ ํ‰๊ท  ๊ธฐ๋ฐ˜ ํ‰์  ์˜ˆ์ธก
์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐํ‰๊ท  ์ค‘์‹ฌ ๊ฐ€์ค‘ ํ‰๊ท  ์œ ์‚ฌ๋„ ํ‰์  ์˜ˆ์ธก
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐํ‰๊ท  ์ค‘์‹ฌ ๊ฐ€์ค‘ ํ‰๊ท  ์œ ์‚ฌ๋„ ํ‰์  ์˜ˆ์ธก
์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐZ์ ์ˆ˜ ๊ฐ€์ค‘ ํ‰๊ท  ์œ ์‚ฌ๋„ ํ‰์  ์˜ˆ์ธก
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐZ์ ์ˆ˜ ๊ฐ€์ค‘ ํ‰๊ท  ์œ ์‚ฌ๋„ ํ‰์  ์˜ˆ์ธก
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
KNearestNeighborsTest.java
KNearestNeighbors.R
KNearestNeighbors.java
KNearestNeighborsParams.java
Download

ํŠน์ž‡๊ฐ’ ๋ถ„ํ•ด ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ

ํ–‰๋ ฌ ๋ถ„ํ•ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ ํŠน์ž‡๊ฐ’ ๋ถ„ํ•ด ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ํ‰์  ๋ฐ์ดํ„ฐ์˜ ๊ธฐ์ค€์„  ์ถ”์ •์„ ํ†ตํ•œ ์ž”์ฐจ์˜ ์ ˆ๋‹จ๋œ ํŠน์ž‡๊ฐ’ ๋ถ„ํ•ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ์ถ”์ฒœ

์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ์ถ”์ฒœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์•„์ดํ…œ์˜ ํŠน์ง•, ์ฆ‰ ์ฝ˜ํ…์ธ ๊ฐ€ ์œ ์‚ฌํ•œ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์•„์ดํ…œ์˜ TF-IDF ๋ฒกํ„ฐ๋ฅผ ๊ตฌํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ TF-IDF ๋ฒกํ„ฐ ๊ฐ„์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ด€ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ

์—ฐ๊ด€ ๊ทœ์น™ ์ถ”์ฒœ์€ ์–ด๋–ค ์•„์ดํ…œ๊ณผ ๋™๋ฐ˜ํ•˜์—ฌ ๋“ฑ์žฅํ•˜๋Š” ์•„์ดํ…œ์— ๋Œ€ํ•œ ๊ทœ์น™์ธ ์•„์ดํ…œ ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์„ ๋ถ„์„ํ•˜์—ฌ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ํฅ๋ฏธ๋„ ์ธก๋„์ธ ์—ฐ๊ด€ ๊ทœ์น™์˜ ์ง€์ง€๋„์™€ ์‹ ๋ขฐ๋„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ๋Œ€์ƒ ์›Œํฌ๋ถ ์˜ˆ์ œ์ฝ”๋“œ ํ•ต์‹ฌ์ฝ”๋“œ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
์—ฐ๊ด€ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์‚ฌ์šฉ์ž/์•„์ดํ…œ ์ˆ˜์‹ ์‚ดํŽด๋ณด๊ธฐ
์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ณด๊ธฐ
์˜ˆ์ œ ์ฝ”๋“œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
AssociationRuleMiningTest.java AssociationRuleMining.java
AssociationRuleMiningParams.java
Download

Demos - Windows PowerShell

MISCELLANEOUS

MISCELLANEOUS

Technology Stack

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด : Java 100% (JDK 8 / 11 ํ˜ธํ™˜)
  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
    • ๋นŒ๋“œ ๋„๊ตฌ : Gradle 8.3
    • IDE: IntelliJ IDEA Community Edition
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ
    • Apache Spark 3.5.0 (Scala 2.12)
    • Junit
    • Logback
    • Project Lombok
    • Zip4j
  • ์†Œํ”„ํŠธ์›จ์–ด ํ˜•์ƒ ๊ด€๋ฆฌ: Git / GitHub
  • ๋ฐ์ดํ„ฐ์…‹
    • ์˜ˆ์ œ(r4tings) ๋ฐ์ดํ„ฐ์…‹ โ€“ ํ‰์  30๊ฐœ
    • ๋ถํฌ๋กœ์‹ฑ(Book-Crossing) ๋ฐ์ดํ„ฐ์…‹ โ€“ ํ‰์  1,149,780๊ฐœ
    • ๋ฌด๋น„๋ Œ์ฆˆ(MovieLens) ๋ฐ์ดํ„ฐ์…‹ โ€“ ํ‰์  27,753,444๊ฐœ

MISCELLANEOUS

Additional Resources

MISCELLANEOUS

Feedback and Contributions

  • ๊ธฐ๋Šฅ ์˜ค๋ฅ˜๋‚˜ ๊ฐœ์„  ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ISSUES์— ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ DISCUSSIONS์„ ํ†ตํ•˜์—ฌ ํ”ผ๋“œ๋ฐฑ ํ•ด ์ฃผ์„ธ์š”.
  • ํ”„๋กœ์ ํŠธ์˜ ์ฐธ์—ฌ๋‚˜ ๊ธฐ์—ฌ๋„ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ •๋ณด๋Š” CONTRIBUTORS์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MISCELLANEOUS

License

MISCELLANEOUS

References

MISCELLANEOUS

Contact

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด๋‚˜ ์ œ์•ˆ, ๋˜๋Š” ๊ธฐํƒ€ ์—ฐ๋ฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, dongsup.kim@r4tings.com์œผ๋กœ ์—ฐ๋ฝ ์ฃผ์„ธ์š”.

News & Updates

[2024/2Q] ์˜จ๋ผ์ธ ๊ฐ•์ขŒ. (์ค€๋น„์ค‘) โ— ์™„๋ฃŒ์‹œ์ ๊นŒ์ง€ ์›Œํฌ๋ถ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ์˜ ์ฝ˜ํ…์ธ ๋Š” ์ง€์†์ ์œผ๋กœ ์ˆ˜์ • ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • (๊ฐ€์ œ) ์ˆ˜์‹์œผ๋กœ ์ดํ•ดํ•˜๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ ์›Œํฌ๋ถ. ๋ฏธ์ •.

[2023/12] ๊ณต๊ฐœSW ๊ฐœ๋ฐœ์ž๋Œ€ํšŒ ์€์ƒ(ํ•œ๊ตญ์ •๋ณด๊ณผํ•™ํšŒ ํšŒ์žฅ์ƒ). (2023)

[2017/07] R๋กœ ๋งŒ๋“œ๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ.

[2016/12] Recomon ์—ฐ๊ตฌ์‹ค (2016/12 - 2017/12). ๋ชจ๋‘์˜ ์—ฐ๊ตฌ์†Œ.

[2016/09] Recommender Systems Specialization. University of Minnesota on Coursera.