You are on page 1of 25

Predicting future problem gamblers using Machine Learning Algorithms

머신러닝 알고리즘을 사용한 미래의 문제성 도박꾼 예측

초록

이 논문은 머신러닝 모델을 사용하여 온라인 도박 웹사이트에서 잠재적인 도박


중독자를 식별하려고 시도한다. 머신러닝은 자기 배제로 이어지는 고위험 온라인
플레이어를 예측 및 식별하고 문제성 도박꾼들에게 자동화된 자조 도구를 제공하는 데
중요한 역할을 할 수 있다. 머신러닝은 과거 이용 이력을 바탕으로 도박 중독자를
예측하는 데 도움이 된다.

머신러닝은 문제성 도박꾼으로 정의된 사용자의 데이터를 교육하는 데 도움이 된다.


이는 지도 학습, 특히 Support Vector Machine 및 Naive Bayes 와 같은 분류
알고리즘을 사용하여 수행되었다. 그 후, 플레이어 추적 시스템은 행동 패턴을 기반으로
모든 활성 사용자에 대한 예측을 생성한다. 최종 결과에는 기존 플레이어 행동 데이터를
사용하여 모델을 개선하기 위한 예측을 추가하고 잠재적인 도박꾼을 감지하기 위한
자체 학습이 포함된다.

이 시스템은 최근 사용 기록을 기반으로 모든 활성 사용자에 대한 예측을 생성한다.


최종 결과에는 잠재적인 도박중독자를 비중독자 및 도박중독의 징후를 보이는 잠재적인
도박 중독자와 비교 분석하여 향후 도박사이트의 도박 중독자를 예측하는 시스템이
포함된다.

Introduction
서론

지속 가능한 상호작용 (Sustainable Interaction)의 핵심 사업은 중독과의 싸움을 돕고,


심리학과 교육학에 대한 지식을 변화와 발전을 위한 혁신적인 제품으로 전환하는
것이다. 주요 분야 중 하나는 책임감 있는 도박인데, 여기에는 도박을 중단하고 정신
건강을 개선하는 데 도움이 되는 온라인 교육 프로그램, 웹 기반 자조 프로그램, 진단
도구 등의 서비스와 디지털 제품이 포함된다. 도박은 오늘날 접근성의 용이함 때문에
중독성이 매우 높은데, 플레이어는 전체 투자를 포함한 다양한 금액의 돈을 베팅할 수
있다. 따라서 오늘날 문제성 도박꾼을 초기에 발견하는 것은 매우 어렵다. 이러한 점을
염두에 두고 베팅 사이트에서 도박 중독자와 잠재적인 도박 중독자를 찾아 중독에 대한
정보를 얻고 필요한 경우 도움을 제공하는 것이 매우 중요하다. 도박 중독 또는
공식적으로는 문제적 도박 또는 병적 도박이라고 불리는 것은 많은 부작용이 있는
오래된 충동 조절 장애다.

온라인 도박은 카지노의 일반적인 도박 문제와 유사하게 진단되지만 자체적인 문제가


있다. 이러한 온라인 도박의 자체적인 문제들은 일반 도박에서는 존재하지 않거나 쉽게
진단할 수 없다. 감 테스트 (Gam Test) 는 플레이어와 도박 운영자가 모두 플레이어의
행동에 대해 자세히 알아볼 수 있도록 돕는 독특한 솔루션이다. 이의 궁극적인 결과는
플레이어가 게임에 대한 장기적인 결정을 내리는 데 사용할 수 있는 간결하고 개별화된
권장사항들이다.

인공 지능과 머신 러닝은 오늘날 기술에서 사용할 수 있는 두 가지 유형의 의사 결정


알고리즘이다. 머신 러닝은 도박 중독자들을 감지하는 데 도움을 줄 수 있는 가능성이
있다. 그 데이터에는 입력 항목과 출력 항목이 쌍으로 포함되어 있으며 지도 학습이
사용된다. 지도 학습 레이블이 데이터를 두 개의 개별 항목으로 입력하는 경우 분류
모델에는 데이터를 항목으로 그룹화하는 것이 포함된다. 랜덤 포레스트 모델 (random
forest model) 은 그 모델을 자가 학습할 수 있도록 개선하는 데 사용된다. 이는 다수의
의사 결정 트리를 구성하여 작동하며 개별 트리의 분류를 출력한다.

1.1 주요 기여 및 연구 질문

이 논문은 예측 분석 머신러닝 접근 방식을 사용하여 방문자가 많은 도박 사이트에서


도박 중독 가능성이 있는 사람을 식별할 수 있는지에 대한 질문에 답하려고 시도한다.
이 논문의 일부로 수행된 작업에는 사용자 데이터 추적, 사용자 데이터 저장 및 집계를
위한 데이터 파이프라인 구축이 포함된다. 머신러닝 방법을 나중에 사용하여 시간
경과에 따른 사이트 사용 기록을 기반으로 사용자를 중독자와 비중독자로 분류했다. SI
플레이어 추적 시스템(PTS)은 PTS 도박 행동 모델과 자체 테스트인 Gam Test 의 두
부분으로 구성된다. 모든 개별 플레이어의 도박 활동은 지난 2 주 동안 추적되며 이 2 주
기간은 측정값 변경 전 2 주의 기간과 비교된다. 행동 데이터만으로는 누군가에게 도박
문제가 있는지를 100% 정확하게 알 수 없다. 따라서 PTS 의 중요한 부분은 도박으로
인한 소비와 부정적인 결과를 측정하는 자체 테스트인 Gam Test 이다.

이러한 문제에 대한 평가 기준을 설정하는 것은 어려운데, 그 이유는 일단 알고리즘이


잠재적인 도박 중독자를 분류하면 사용자가 향후 중독이 될지에 관한 여부를 알 수 있는
수단이 없기 때문이다. 이는 모니터링할 자조 도구를 설계하는 데 유용할 것인데,
예측된 사용자가 중독자로 판명되었지만 특정 실제 상황에 따라 사용량이 감소하거나
증가할 수 있는지 확인할 수 있을 것이기 때문이다.

1.2 문제 설명

데이터에는 자가 테스트의 5 가지 측면- 시간과 돈의 과도한 소비, 시간, 돈, 그리고


감정에 대한 결과가 포함되어 있다. 데이터를 자체 테스트 부분으로 분류하고 플레이어
추적 시스템을 기반으로 동적으로 만들며 리스크 수준 및 중독 확률을 기반으로 동기
부여 개입 및 피드백을 도입한다. 자체 테스트의 대체 결과를 예측하기 위해 모델을
훈련함으로써 플레이어 프로필을 위험 범주(예: 낮음, 중간 및 높은 위험) 로 분석하고
분류하는 데 도움이 된다.
1.3 배경이론

이 프로젝트의 목표는 플레이어 추적 시스템과 고객의 데이터를 살펴보고 어떠한 도박


행동이 미래의 자발적 도박금지를 예측하고 도박 중독자들을 판별할 수 있는지
확인하는 것이다. 플레이어가 도박 습관을 바꾸는 데 도움을 줄 수 있는 장기적인 AI
도구를 만드는 것 또한 목표다. 이는 문제성 도박의 5 가지 측면(즉, 돈과 시간의 과잉
소비, 금전적, 사회적, 감정적 부정적 결과) 에 걸쳐 플레이어와 플레이어 행동에서 얻은
SI 의 자체 테스트 데이터를 조합하여 달성할 수 있다. 핵심 행동으로 분류된 행동
데이터와 자체 테스트 데이터의 좋은 샘플의 이용 가능성은 SI 의 인공지능화를 위한
좋은 시작이 된다. 그 결과는 중독과의 싸움에서 사회를 지원하고, 심리사회적 건강을
제공하며, 사회적 책임을 지지하는 조직의 성장, 역량 개발, 전략 및 사명을 더한다.
작업이 행해지는 부분은 자가 테스트의 5 가지 측면이다 (시간과 돈의 과잉 소비, 시간,
돈, 감정에 대한 결과).

머신러닝은 중개 모델이 자체 테스트와 플레이어 행동을 위에서 명시된 측면으로 하위


분류하는 데 도움이 된다. 우리는 문제성 도박꾼을 찾는 것을 결정론적인 작업으로
취급한다. 일정 금액 이상으로 플레이하거나 일정 시간 이상을 소비하는 사람들은
사이트에서 문제성 도박꾼으로 간주될 수 있다. 문제성 도박꾼의 의미는 이미 정의되어
있으므로 사용량 데이터에서 쉽게 찾을 수 있다. 더 큰 문제는 나중에 문제성 도박꾼이
될 수 있는 사용자, 즉 아직 임계값을 통과하지 못했지만 여전히 도박꾼의 면모를 갖고
있는 사용자를 조기에 식별하는 것이다.

2. 문헌 검토

도박은 감정에 관한 것으로, 도박으로 인한 피해는 단순히 돈을 잃는 것만이 아니다.


도박은 자존감, 인간관계, 신체적, 정신적 건강, 업무 성과 및 사회생활에 영향을 미칠
수 있다. 도박을 하는 사람뿐만 아니라 그의 가족, 친구, 직장에도 해를 끼칠 수 있다.
중독은 일반적으로 자극에 대한 초기 노출과 그 경험을 반복하려는 행동을 포함하며
행동 자극 순서를 여러 번 반복한 후에 중독이 확립된다. 중독의 성격과 심각성은
시간이 지남에 따라 변할 수 있고, 어떤 경우에는 환자가 통제력을 자제하거나
회복하려는 시도로 인해 중단될 수 있으며, 환자는 지속적인 기간 동안 또는 심지어
영구적인 회복을 달성할 수 있다.

도박중독의 확률은 2-3% 이다. 도박중독의 가장 큰 특징은 반복적이고 지속적인


도박행위다. 이는 개인, 가족 또는 직장 생활에 지장을 초래한다. Daria J 등은 온라인
도박 중독자가 일반 중독자와 동일한 특성을 가지고 있다고 주장했다. 도박중독은
시간이 지남에 따라 크게 증가하기도 했다. Aviel Goodman 은 중독을 “즐거움을
만들어내고 내면의 불편함을 해소하는 행동”으로 정의했다. 일반적으로 부정적인
영향을 경험함에도 불구하고 행동을 통제하지 못하고 행동이 지속되는 것이 특징인
패턴이 나타난다는 것이다.
문제성 도박은 해로운 부정적인 결과에도 불구하고 계속해서 도박을 하고 싶은 충동을
말한다. 대학생의 문제성 도박 가능성은 7.8%로 평가됐다. 일반 인구의 경우 문제성
도박 가능성이 5%인데, 이 비율에 비해 상당히 높은 것이다. 문제성 도박에 직면한
학생들은 고립된 행동, 낮은 학업 성적, 빈약한 충동 조절, 극도의 과신 표시, 기타
고위험 참여 등과 같은 행동을 보이는 것으로 알려졌다.

3. GAM 테스트

Gam 테스트는 도박 행위에 대한 온라인 테스트로 플레이어에게 개별화된 피드백과


조치 권장 사항을 제 공하는 데 사용할 수 있는 정보를 제공한다. Gam-Test 는 SI PTS
시스템 내 통신에 영향을 미치는 5 가지 측면으로 구성되는데, 그 5 가지 측면은 돈,
시간의 과잉 소비, 금전적, 사회적, 감정적 부정적인 결과다. 이는 15 개의 자기 보고
진술을 바탕으로 작성되었으며, 그 목표는 시간과 돈의 과도한 소비와 같은 도박 문제의
초기 조짐을 찾는 것이다.

< 돈, 감정, 시간 등에 관한 자가 진단 Gam test>

OC 시간 : 나는 도박할때 가끔 시간을 잊는다.


나는 도박할때 가끔 내가 의도한 것보다 오래동안 한다.
나는 다른 일을 해야할때 나의 도박에 시간을 쏟는다.

OC 돈 : 나는 가끔 의도한 것보다 더 많은 돈으로 도박한다.


나는 가끔 내가 잃은 돈을 도박으로 다시 얻어내려고 한다.
나는 가끔 다른 일을 해야할 돈으로 도박을 한다.
나는 가끔 나의 도박으로 인해 돈이 부족하다.
NC 사회 : 나와 친한 사람들은 내가 도박을 지나치게 한다고 생각한다.
다른 사람들은 내가 도박하는데 지나친 시간을 투자한다고 생각한다.

NC 감정 : 나의 도박에 대해 생각하면 가끔 죄책감이 든다.


나의 도박이 가끔 나를 짜증나게 만든다.
내가 도박으로 잃은 돈을 생각하면 가끔 죄책감이 든다.
나는 도박할 기회가 없으면 불안하다.
나는 내가 도박에 투자한 시간과 돈을 다른 사람들에게 말하고 싶지 않다.

4. 방법

본 논문의 작업은 다음과 같은 단계를 거쳐 수행되었다.

1 단계 : 연구 문제의 규명, 2 단계 : 데이터 수집 및 분석, 3 단계 : 데이터 전처리, 교육


및 테스트, 4 단계 : 머신러닝 모델 만들기, 5 단계 : 결과의 가시화

우선, 연구의 범위와 목적이 식별되고 정의되었다. 두 번째 단계에서는 필요한 데이터를


추출하고 수집하는 동시에 다양한 문헌을 연구하며 전체 프로세스를 수행하는 방법,
모델을 구축하는 방법 및 프로젝트에 사용되는 기술에 대한 지식을 연구했다.

세 번째 단계인 데이터 전처리 및 데이터 분석은 추후 과정을 위해 데이터 세트를


준비하기 위한 도구를 사용하여 수행되었다. 사용자가 많은 사이트의 경우 데이터 추적,
정리, 분석 및 저장이 효율적이고 확장 가능해야 한다. 확장성과 효율성 문제를
극복하기 위해 맞춤형 로그 분석기와 인덱싱된 관계형 데이터베이스가 사용되었다.
Naive Bayes 알고리즘과 SVM(Support Vector Machines) 알고리즘은 예측을 위해
사용되었지만 선형 SVM 이 사용 데이터에서 가장 높은 정확도, 정밀도 및 재현율을
갖는 것으로 나타났다. 분류기는 지난 달의 사용 내역을 기반으로 모든 사용자를
예측하는 데 사용되었다. 모델 생성을 위한 데이터는 모델 생성을 위해 매월 수집 및
요약되며 예측자는 매일 예측을 진행했다. 결과 섹션에는 완료된 작업에 대한 간략한
설명, 데이터 분석 및 예측 분석 시스템의 결과, 이 문제 또는 유사한 문제를 해결하기
위한 향후 작업에 대한 권장 사항이 포함되었다.

5. 사용된 도구

5.1 Python pandas

Python 팬더는 데이터 처리를 위한 강력한 라이브러리다. CSV(쉼표로 구분된 값)


파일을 입력값으로 사용하여 데이터를 쉽게 이해하고 처리할 수 있도록 테이블과 같은
데이터 유형인 데이터 프레임으로 변환할 수 있다. Python 은 유연하고 사용자
친화적인 것으로 알려져 있다.

Python 은 사용하기 쉽고 머신러닝에 관한 광범위한 문서가 포함되어 있어 선택되었다.


이 라이브러리는 일반적으로 이 프로젝트에 필요한 데이터 정리, 데이터 엔지니어링 및
JSON(Java Script Object Notation)을 CSV 로 변환하는 데 사용되었다.

5.2 Git Version Control

Git 은 소규모 프로젝트부터 대규모 프로젝트까지 모든 것을 처리하는 무료 오픈 소스


분산 버전 제어 시스템이다. 버전 제어 시스템은 소프트웨어 팀이 시간이 지남에 따라
소스 코드를 관리하는 데 도움이 되는 소프트웨어다. 향후 일부 코드가 중단될 경우를
대비해 언제든 다시 추적할 수 있는 커밋을 추적하기도 한다. 고객 데이터 플레이어
추적 시스템용 GitHub 저장소에서 로컬 폴더로 저장소를 복제했다.

컨테이너는 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고


안정적으로 실행될 수 있도록 코드와 모든 종속성을 패키지화하는 소프트웨어의 표준
단위다. 건물 컨테이너의 로컬 폴더로 이동하여 실행하면 컨테이너가 완료된다.

컨테이너 시작 순서:
- 변환 컨테이너 (수신 데이터 트랜잭션을 분석 컨테이너에서 사용하는 필수 데이터
형식으로 집계하고 15 분마다 작업을 실행함)
- 분석 컨테이너는 게임 거래 데이터 분석을 실행하고 저장하며, 매일 오후 6 시에
작업을 실행한다.

6. MONGO DB
Mongo DB 는 고성능, 고가용성 및 손쉬운 확장성을 제공하는 크로스 플랫폼으로 문서
지향 데이터베이스인데, 컬렉션과 문서의 개념으로 작동한다. 데이터베이스는 컬렉션을
위한 물리적 컨테이너이며, 각 데이터베이스는 파일 시스템에서 자체 파일 세트를
얻는다. 단일 Mongo DB 서버에는 일반적으로 여러 데이터베이스가 있다. 컬렉션은
Mongo DB 문서 그룹으로, RDBMS 테이블과 동일하다.

7. 데이터의 성격

본 연구는 실제 데이터를 기반으로 한 경험적 연구다. 따라서, 도출된 모든 결론은


사용된 통계 방법의 성능에만 관련이 있다. 데이터 세트는 익명이며 주간 데이터를
기반으로 플레이어 행동을 추적했다. 제공된 원본 데이터 세트는 여러 행과 열로
구성된다. 데이터는 일반적으로 플레이어당 변수당 하나의 JSON 문서를 포함하는
JSON (JavaScript Object Notation Format) 파일이므로 100 개의 셀 (플레이어 10
개와 변수 10 개)을 포함하는 10x10 행렬이다.

도박의 세 가지 주요 일반 범주는 말, 카지노 및 스포츠 베팅이었으며 변수에는 속도,


변화, 돈 및 시간 등의 측면에 따라 플레이어의 행동이 포함되어 있다. 기본적으로 베팅
중 모든 활동을 추적하며 데이터 집계 결과는 mongo 컬렉션에 저장된다.

데이터는 JSON 형식으로 mongo 데이터베이스에서 내보내진다. 분석 컨테이너는 변환


및 분석 실행을 위해 두 가지 일정을 사용는데, 각 컨테이너는 데이터가 생성된 위치에
따라 작업을 수행한다. 데이터 집계는 데이터 행렬을 생성하며 여기서 각 행에는 단일
플레이어에 대한 값이 포함되고 각 열에는 하나의 변수가 포함된다.

7.1 데이터 수집

데이터 수집과 데이터 생성은 머신러닝과 AI 를 활용해 통계 모델을 구축하려는 첫 번째


단계다. 데이터 세트는 일반적으로 훈련 세트, 검증 세트 및 테스트 세트의 세 가지 하위
세트로 나뉜다. 훈련 세트는 통계 모델을 훈련하는 데 사용되고, 검증 세트는 모델이
얼마나 잘 훈련되었는지 확인하는 데 사용되며, 테스트 세트는 모델의 성능을 평가하는
데 사용된다. 데이터는 데이터베이스에 저장되며 Mongo DB 는 데이터 허브에서
데이터를 내보낸다. Mongo DB 에서 PTS 데이터와 정보를 API 의 웹 프런트 엔드(두
애플리케이션이 서로 통신할 수 있도록 하는 소프트웨어 중개자인 애플리케이션
프로그래밍 인터페이스)로 내보낸다. PTS 결과, 자체 평가 테스트, 웹 트래픽 추적 및
오류 관리는 모두 컨테이너에서 처리된다.

7.2 기능 및 라벨링

피쳐링 (featuring) 은 머신러닝 및 패턴 인식에서 객체가 표시되는 방식이다. 특징


벡터는 각 벡터가 객체를 나타내는 n 차원 벡터다. 특징을 숫자로 표현하면 통계 분석이
증폭된다. 지도 학습 중 특징, 라벨, 그리고 18 가지 특징은 설명적 속성이고 라벨은
예측인데, 모델 훈련 후 제공되는 출력은 라벨이 되는 것이다.

8. 구현
8.1 데이터 전처리

지도 학습 알고리즘의 성능은 데이터 전처리에 의해 크게 영향을 받을 수 있으며 적절한


데이터 전처리를 통해 일반화가 향상될 수 있다. 전처리에는 특징 선택, 수치 특징
정규화, 범주형 특징 인코딩이 포함 될 수 있다. 첫 번째 단계는 청소였는데, 이는 예측
모델에 부정적인 영향을 미칠 수 있는 데이터 세트의 오류를 식별하고 수정하는 것이다.
고객 데이터인 플레이어 추적 시스템 데이터는 mongo 데이터베이스에서 JSON
형식으로 여러 파일로 내보내진다.

처음에는 데이터에 잡음이 많아 정리가 필요했다. Python 프로그램을 사용하여 JSON


을 CSV 로 변환하는 프로젝트 정리를 완료했다. Python 을 선택한 이유는 JSON 을
CSV 로 매우 간단하고 효율적으로 변환하는 기능과 'pandas'를 제공하는 기능이 있기
때문이다.

관련 기능과 라벨을 데이터 프레임으로 가져왔고 해당 기능을 사용하여 시스템을


훈련하고 테스트했다. 전처리된 데이터 세트에는 원래 데이터 세트와 동일한 수의
샘플이 포함된다. 연구의 목표는 플레이어가 위험 수준에 도달할지 여부를 예측하는
것이었기 때문이다. PTS 모델은 다양한 변수를 기반으로 구축되었다. 각 표준화된
점수는 0-10 이며 운영자의 도박 데이터를 바탕으로 진행되었다. 각 차원에는 돈, 시간,
변화 및 속도 변수에 대한 자체 변수가 있으며 여기에는 위험 수준을 결정하는 합산 및
구분 점수가 포함된다. 데이터 세트는 훈련과 테스트의 두 부분으로 나누어져있다.
분할은 이전 플레이어 동작의 대부분을 보존하는 계층화된 방식으로 수행되었다.
테스트 데이터세트로 샘플의 전처리된 데이터세트 중 20%를 따로 남겨두었다.

데이터 세트가 불균형하므로 리샘플링 알고리즘 SMOTE (SMOTE 는 소수 클래스에


대해 합성 샘플이 생 성되는 오버샘플링 기술이다. 이 알고리즘은 무작위
오버샘플링으로 인한 오버피팅 문제를 극복하는 데 도움이 된다) 가 구현되었는데,
이는 예측기의 성능을 향상시키기 위함이다. 이 SMOTE 구현은 1 차원 샘플을 위한
것이며, 먼저 적용 시 1 차원 벡터로 재구성되었다. 그런 다음 각 샘플을 원래 샘플
모양으로 다 시 모양을 바꾸었다. 훈련용으로 예약된 데이터 세트의 80%는 훈련
세트와 검증 세트로 추가로 분할되었다. 이 하위 집합의 20%가 예약되었으며 검증
세트는 하이퍼 매개변수를 조정하는 데 사용되었다.

8.2 책임 있는 도박 섹션

플레이어 추적 시스템에는 사용자가 시스템의 상호 작용을 제한할 수 있는 책임 있는


도박 활동이 있다. 사용자가 시스템 사용을 제한할 수 있는 방법은 다음과 같다.
- 자체 제외: 시스템에서 사용자를 영구적으로 제거하는 것으로, 플레이어가 PTS
에서의 사용에 대해 걱정하고 있음을 나타내는 확실한 지표다.
- 시간 초과: 특정 시간 동안 시스템에서 플레이어를 제거하는 것으로 몇 달 이상이면
확실한 지표다.
- 입금 한도: 입금 한도를 설정하면 사용자가 선택한 것보다 더 많은 금액을 입금할 수
없다. 예금 한도는 예방적 이유로 사용될 수 있기 때문에 지표로 사용할 수 있다.

8.3 로그 분석 및 데이터 집계

고객 데이터는 추적되어 파일에 저장되며 데이터는 처리 및 분석되어 pandas 및


Numpy 라이브러리를 사용하여 집계된다. 일별 데이터와 월별 데이터를 실행하여
데이터 패턴을 분석하는 Python 로그 분석기다.

8.4 일일 분석을 위한 표

- Acc_user: 사용자 기본 정보(로그인 ID, 성별, 언어, 생년월일, 통화, 국가 등)


- Acc_user_action: 플레이어 추적 시스템에서 플레이어가 수행할 수 있는 여러
작업이 있다.
(예: 입금 한도 설정, 로그인, 시스템 사용 및 현실 확인).
- Acc_user_deposit : 각 기록은 각 플레이어의 거래로서 입출금 내역이다.

8.5 월별 분석을 위한 표

이전 섹션에서 언급했듯이 매달 실행되는 Python 스크립트는 이전 달의 데이터를


집계하여 별도의 월 별 테이블에 저장하는데, 그 중 일부는 다음과 같다.

- Acc_montly_action: 지난 달 각 플레이어의 행동을 집계하고 집계한다.


- Acc_monthly_bet: 각 플레이어의 이전 달 베팅에 대한 집계된 요약이다. 열에는
베팅 금액, 승패 합계, 베팅 횟수 등이 포함된다.
- Acc_monthly_timespent: 지난 달에 사용자가 시스템에서 보낸 시간이다.
- Acc_monthly_deposit : 전월 입출금 내역과 입출금 빈도를 집계한다.

9. 머신러닝

Thomas M. Mitchell 에 따르면 "컴퓨터 프로그램은 P 로 측정된 T 의 작업 성능이 경험


T 로 향상되면 작업 T 의 일부 클래스 및 성능 측정 P 와 관련하여 경험 E 에서 학습한
다”. 일반적인 용어로 말하자면 머신러닝은 경험(데이터)으로부터 학습하고 모든
종류의 데이터 세트에 대한 솔루션을 일반화하는 컴퓨터의 능력이다. 머신러닝
애플리케이션은 문제가 너무 복잡하거나 너무 커서 단계별 지침으로 나눌 수 없는
비결정적 문제에 유용하다. 일부 머신러닝 애플리케이션에는 스팸 감지, 주식 가치
예측, 구조화된 데이터 세트에서 패턴이나 숨겨진 구조 찾기 등이 있다. 이전 사례나
경험을 통해 학습하는 방법은 지도 학습이라는 인공 지능의 하위 분야다. 지도형 기계
학습의 두 가지 주요 응용 분야는 분류와 회귀다. 분류는 레코드가 어떤 클래스에
속하는지 예측하는 데 사용되는 반면, 회귀는 실제 수치를 예측하는 데 사용된다.

기계 학습은 구조화되지 않은 데이터에서 숨겨진 클래스 구조를 밝히는 데 사용될 수도


있고, 구조화 된 데이터에서 종속성을 찾아 예측하는 데 사용될 수도 있다.

10. 예측 분석

예측 분석은 유사한 과거 데이터로 구축된 모델을 사용하여 이전에 볼 수 없었던


데이터에 존재하는 미래 이벤트 및 동작을 예측하는 행위다. 이는 금융, 의료, 학계,
도박 산업 등 다양한 영역에 적용된다. 이러한 모든 분야에서 예측 분석의 적용 및
방법은 유사하다. 기계 학습 알고리즘은 데이터의 다양한 속성 간의 관계를 찾아 모델을
구축한다. 결과 모델은 미래에 보이지 않는 데이터의 속성 중 하나를 예측할 수 있다.
이전에 알려진 데이터 세트에서 예측 모델을 만드는 것을 훈련이라고 한다. 모델 훈련에
사용되는 데이터를 훈련 데이터 또는 훈련 세트라고 한다.

모델이 생성되면 모델의 효율성과 효과를 테스트하기 위해 훈련 세트의 일부가 아닌


데이터 세트에 대해 테스트된다. 모델 테스트에 사용되는 데이터를 테스트 데이터 또는
테스트 세트라고 한다. 그런 다음 모델을 미세 조정하고 여러 번 반복하여 테스트
세트에 대한 최고의 정확도 점수를 찾는다. 모델이 테스트 세트에 충분히 효율적이면
보이지 않는 데이터에 대해 일반화되어 프로덕션에 사용될 수 있다고 말할 수 있다.
데이터를 두 개의 서로 다른 세트(훈련 및 테스트)로 분할하는 이유는 과도한 맞춤 을
방지하기 위한 것이다. 훈련에 모든 데이터를 사용하면 모델은 훈련 세트에 매우
효율적이지만 보 이지 않는 데이터에 대해서는 성능이 저하된다.

본 연구에서는 예측 분석을 사용하여 베팅 중독자의 다양한 속성 간의 관계를 학습한


다음 모델을 사용하여 모든 사용자가 잠재적인 베팅 중독자인지 여부를 예측했다. 구현
및 시스템 개요 부분에서는 방법론과 구현에 대해 자세히 설명했다.

11. 분류 및 선정방법

데이터 세트에서 학습하고 레코드가 클래스에 속하는지 여부를 예측하는 수백 가지의


다양한 분류 알고리즘이 있다. 각 알고리즘에는 동일한 작업, 즉 종속 변수를 예측하는
작업이 있다. 그들은 각각의 약점과 강점을 지닌 다양한 수학적 방법을 기반으로 한다.
본 연구는 사용 사례에 대해 선형 커널이 있는 지원 벡터 머신과 Naive Bayes
분류기라는 두 가지 다른 알고리즘을 사용했으며 SVM 이 더 나은 성능을 발휘한다는
것을 확인했다.

12. 서포트 벡터 머신
기계 학습에서 지원 벡터 머신(SVM, 지원 벡터 네트워크라고도 함)은 분류 및 회귀
분석을 위해 데이터를 분석하는 학습 알고리즘과 관련된 지도 학습 모델이다. SVM 은
많은 패턴 인식 및 회귀 추정 문제에 사용되었으며 종속성 추정, 예측 및 지능형 기계
구축 문제에 적용되었다. MLP(Multi-Layer Perceptron) 분류기에서는 네트워크
출력과 원하는 출력 간의 총 오류 합계가 최대화되는 훈련 단계 중에 가중치가
업데이트된다.

훈련을 통해 획득한 클래스 간의 결정 경계가 불분명하고 일반화 능력이 훈련 접근


방식에 따라 달라지기 때문에 데이터 크기가 작을 경우 네트워크 성능이 크게 저하된다.
이와 대조적으로 SVM 에서는 결정 경계가 특징 공간에서 경계의 분리 마진이 최대화될
수 있는 훈련 데이터 세트에서 직접 결정된다. SVM 은 어떤 공간에 위치한 최대 마진
초평면으로, 비선형 경계에 의해 분리된 데이터를 분류하는데 사용된다. 이 비선형
경계는 두 개 이상의 데이터 클래스를 분리하는 초평면 집합을 찾아 구성할 수 있다.

초평면을 구성한 후 SVM 은 입력 클래스와 경계를 정의하는 입력 요소(지원 벡터)


사이의 경계를 검색한다. 양수 또는 음수로 레이블이 지정된 특정 훈련 샘플 세트에서
최대 마진 초평면은 양수 또는 음수 훈련 샘플을 분할하므로 결과적으로 마진과 초평면
사이의 거리가 최대화된다. 양성 또는 음성 샘플을 분할할 수 있는 초평면이 없는 경우
SVM 은 샘플을 최대한 엄격하게 분할하는 동시에 가장 가까운 엄격하게 분할된
예제까지의 거리를 최대화하는 초평면을 선택한다.

13. 나이브 베이즈 분류기

Naive Bayes 분류는 Bayes 의 정리에 의존하는 기계 학습 알고리즘이다.

A 와 B 가 서로 다른 두 사건인 경우 P(A)와 P(B)는 각각 A 와 B 가 발생할 확률이다.


P(A—B)는 B 가 이미 발생했다는 점을 고려하여 A 가 발생할 확률이다. Naive Bayes
분류기는 데이터가 생성되는 방식에 대해 강력한 가정을 하고 이러한 가정을 구현하는
확률 모델을 가정한다. 그런 다음 레이블이 지정된 훈련 예제 모음을 사용하여 생성
모델의 매개변수를 추정한다. 새로운 사례에 대한 분류는 해당 사례를 생성했을
가능성이 가장 높은 클래스를 선택하여 베이즈 규칙을 사용하여 수행된다. 이는 예제의
모든 속성이 클래스의 컨텍스트에 따라 서로 독립적이라고 가정한다. 이것이 소위 "
나이브 베이즈 가정"이다.

14. 피쳐 엔지니어링/데이터 처리 (feature engineering)


머신러닝에서 기능 엔지니어링은 머신러닝 결과를 개선하기 위해 데이터 세트에서 특징
(변수)을 선택하고 생성하는 프로세스다. 데이터 처리가 올바르게 수행되면 보이지
않는 데이터에 대한 모델 정확도가 향상되며, 일반적인 데이터 처리 방법은 다음과
같다.

피쳐 선택
- 중요한 특징을 선택하고 종속 변수와 상관 관계가 없는 중복되거나 쓸모 없는 특징을
제거하는 프로세스다.
- 변수와 종속변수의 상관관계를 테스트하기 위한 모델을 만든다.

피쳐 생성
- 피쳐 생성에는 변수 수정과 여러 변수를 결합하여 새 변수 생성이 포함된다.
- 특징을 집계하거나 결합하여 새로운 특징을 생성하고, 특징을 분해하거나 분할하여
새로운 특성을 생성하는 방식을 혼합한다.

피쳐 추출
- 모델링할 수 있는 데이터 세트의 특징(차원) 수를 자동으로 줄이는 프로세스다.
- 일부 데이터 세트에는 기능이 너무 많아서 모든 특징을 그대로 사용하면 모델이 매우
복잡해진다.

피쳐 스케일링
- 특징 중 하나에 광범위한 값이 있는 경우 거리는 이 특정에 따라 결정된다. 따라서
모든 특 징의 범위는 각 특징이 대략적으로 최종 거리에 비례하도록 정규화되어야 한다.
- 원시 데이터의 값 범위는 매우 다양하다. 일부 기계 학습 알고리즘에서는 정규화 없이
목적 함수가 제대로 작동하지 않는다.

14.1 예측 분석의 불균형 클래스

예측 분류기를 모델링하는 대부분의 데이터가 하나의 클래스에 속하는 데이터 세트는


항상 다수 클래스에 민감하다. 이 문제가 해결되지 않으면 분류기가 편향될 것이다.

대부분의 경우 다수 클래스를 예측한다. 이 문제를 해결하는 방법에는 여러 가지가


있는데, 본 논문에서는 오버샘플링 (데이터 세트의 클래스 분포를 조정하는 데
사용되는 기술)을 사용하였다.
<중독된 플레이어와 중독되지 않은 플레이어를 비교하는 클래스 라벨별 산점도>

분산형 행렬은 데이터 세트의 모든 숫자 변수를 서로 비교하여 표시한다. Python 에서


데이터 시각화 기 술은 많은 라이브러리를 사용하여 수행할 수 있지만 Pandas 를
사용하여 데이터를 업로드하는 동안 분산 행렬을 사용하여 데이터 세트를 시각화한다.

14.2 시스템 개요 및 방법론

이 챕터에서는 전체 시스템에 대한 간략한 개요와 다양한 모듈의 통신 방식을


설명하고자 한다.

14.3 데이터 및 도메인 정보

사용자가 다음 기준 중 하나라도 충족하면 도박 중독자로 간주되어 자조 도구를


개발하는 데 도움이 된다.

- 도박 사이트에서 월 10,000 파운드 이상을 지출하는 사용자


- 도박 사이트에서 평균 8 시간 이상을 보내는 사용자
- 해당 사이트에서 자진 탈퇴한 사용자
- 돈을 자주 입금하는 사용자는 도박 중독이 될 가능성이 더 높다
- 한 달에 1000 번 이상 배팅하는 사용자
- 한 달에 300 번 이상 로그인하는 사용자

이름 설명

기본 플레이어 정보 통화, 국가, 로그인 아이디, 나이

입출금 내역 특정 시간 동안 플레이어의 입출금


도박 기록 모든 개인의 상세한 도박 내역

책임있는 도박 제한 사항 (현실 자각, 자기 배제,


타임아웃)

사용량 요약 내역 사용자가 각 게임당 지출하는 금액


<표 : 데이터 추적 - 모든 개별 플레이어에 대해 지난 2 주 동안 추적됨>

14.4 데이터 정보

Mongo DB 는 원자료를 캡처하는 데 활용되었으며, 이는 기계 학습 애플리케이션의


기능으로 사용되었다. 프록시 서버는 파일의 FTP (파일 전송 프로토콜) 액세스를
지원했다.

데이터는 프록시 서버에서 수집된 후 전처리되었다 (원시 데이터를 유용하고 효율적인


형식으로 변 환하는 데 사용된다).

- 데이터에는 별도의 스포츠 섹션이 있는데, 스포츠 섹션별 베팅 데이터를 추적하는


것은 불가능했다. 수집된 데이터는 웹사이트의 나머지 모든 섹션에서 수집된 것이다.
- 사용자의 기기(모바일 또는 데스크톱 사이트), IP, 로그인/아웃 횟수, 타임스탬프 등도
각 사용 자별로 추적된다.

Python 로그 분석기(필요할 때마다 간단한 코드를 사용하기 위해 데이터베이스에


저장할 CSV 파일을 분석함)는 매일 실행되며 전날 로그를 읽고 데이터를 정리하여
저장한다. 관계형 데이터베이스에는 레코드 중복을 피하기 위해 데이터 수집에 맞게
맞춤화된 스키마(지식을 표상하는 구조)가 있다. 매달 실행되고 집계된 월간 사용량
데이터를 해당 데이터베이스 테이블에 저장하는 또 다른 Python 기반 스크립트가 있다.

<크론 엔진은 데이터를 사전 처리하고 매일 분석이 수행되는 데이터베이스에 저장함>


데이터 정규화

데이터 세트 기능은 평균(μ)이 0 이고 표준 편차(σ)가 1 인 표준 정규 분포의 속성을


갖도록 크기가 조정된다. 데이터 정규화로 인해 단위는 다르지만 규모는 모두 유사한
기능이 생성되었다. Pearson 의 상관관계 방법은 특성 간의 상관관계를 찾는 데
사용된다. 아래 그림의 노란색 상자는 두 기능의 상관 관계가 높음을 나타내고 검은색
부분은 상관 관계가 없음을 나타낸다. 아래의 그림에서 머신러닝 문제를 해결하는 데
사용된 항목은 상관 관계가 없으므로 모두 함께 사용할 수 있다는 결론을 내릴 수 있다.

<두 변수 사이의 피어슨 상관관계는 0.5 로 중간 정도의 상관관계를 가지고 있음>

15. 기계 학습 모델링

도박중독자와 비중독자의 데이터를 사용해 베팅중독에 관련된 머신러닝 모델을


만들었다. 먼저 기능을 확장하고, 소수 클래스를 오버샘플링하고, 그리드 검색을
사용하여 알고리즘에 가장 적합한 하이퍼 매개변수를 찾은 다음 잠재적인 베팅
중독자를 위해 모델을 훈련했다. 모델이 훈련되면 잠재적인 베팅 중독에 대한 행동
기록을 기반으로 사용자를 예측할 수 있으며, 모든 비베팅 중독자를 사용하여 지난 30
일 사용 기록을 기반으로 잠재적인 베팅 중독자인지 예측할 수 있다. 이 전체
프로세스는 Python 스크립트(Python 스크립트, Python 으로 작성된 코드가 포함된
파일)를 통해 자동화되고 매일 반복된다.

Python 스크립트가 포함된 파일의 확장자는 '.py'다. 본 논문에서 사용된 지도학습


알고리즘은 사용량 데이터를 일반화하여 예측을 위한 기계학습 모델을 구성한다.
이러한 이유로 우리는 사용자 데이터를 추적해야 하는 것이다. 일일 트래픽 상황으로
인해 결국 Frosmo 솔루션을 사용하여 맞춤 추적 모듈을 설정 하게 되었다.

Frosmo 스크립트는 모델 구축에 도움이 되는 데이터 추적 모듈에 사용되었다. 그런


다음 데이터 추적 모듈은 페이지에서 사용자 작업을 구독하고 데이터를 전용 서버로
보낼 수 있었다.
<잠재적 베팅 분류를 예측하는 크론 엔진의 모습, 데이터베이스에 저장되는 모델 생성
및 예측 과정>

기본 사용자 세부정보

데이터 세트를 분석하려면 통화, 국가, 연령, 로그인 ID 와 같은 기본 사용자 세부


정보가 필요하다. 사용자의 중독 요인 중 하나가 될 수 있으므로 사용자의 연령(
생년월일)을 추적했으며 나중에 사용자와 잠재적인 베팅 중독자를 식별하기 위해
로그인 ID 를 추적했다.

국가를 추적하는 것은 도박 중독자의 지리적 지표를 보는 데 도움이 될 수 있기


때문이다.

입출금 내역

각 거래 기록과 게임 내역 데이터 기록에는 거래가 이루어진 시점의 타임스탬프로


고유한 식별자가 있다. 여러 기기를 사용하는 사용자의 경우 두 번 데이터를
전송하더라도 데이터 분석 단계에서 중복된 데이터는 제거된다.

15.1 데이터베이스 뷰

데이터는 특정 테이블과 함께 데이터베이스에 저장되므로 데이터 분석 및 기계 학습


알고리즘을 위해 다양한 테이블을 연결하고 거기에서 특정 데이터를 가져오기 위해
여러 데이터베이스 뷰를 만들어야 했다. 다음은 가장 중요한 데이터베이스 뷰와 그
목적의 목록이다.

- ml 월간 사용자: 서로 다른 월간 집계표를 연결하여 각 월별 사용자별 종합 뷰를


생성한다.
- ml 월간 중독: 중독 정의에 따라 중독됨 열을 사용하여 ml 월간 사용자 뷰를
강화한다. 머신러닝 알고리즘을 위한 훈련 데이터로 사용된다.
- ml 중독: 각 사용자별 지난 달 요약이기도 하다. 월별 집계 데이터가 아닌 최근 30
일간의 이력을 보여주기 때문에 위의 뷰와 다르다. 모델이 훈련된 후 이 뷰에서 30 일
사용량을 기준으 로 매일 사용자를 분류한다.
- 도박꾼의 입장에서는 도박꾼이 심각한 단계에 도달하는 것을 방지하는 시스템을 통해
피해를 줄일 수 있다.
- 차원 시간에 대한 데이터는 다른 차원보다 사용량이 훨씬 많기 때문에 베팅 사이의
시간을 제한해야 한다. 가처분 소득 계산에 대한 지침을 제공할 수 있는 플랫폼에서
시간 제한을 설정해야 한다.

15.2 데이터 분석 및 시각화

데이터를 분석하고 시각화하면 실제 머신러닝 구현의 기능 엔지니어링에 도움이 된다.

추세 검증표

속성 중독되지 않음 중독됨

일일 평균 사용량 69 분 143 분

평균 로그인 시간 15.82 25.39

한달 평균 입금 시간 0.06 2.08

평균 철수 시간 0.71 1.70

평균 인출 금액 191 파운드 633 파운드

평균 사용자 연령 42.3 세 36.8 세

위 섹션의 일부 추세는 설명이 필요하지 않다. 예를 들어, 평균 중독자는 비중독자에


비해 사이트에서 두 배 더 많은 시간을 사용하며 인출 빈도와 입금 빈도가 훨씬 높다.
그들은 또한 자신의 도박 문제에 대해 걱정할 가능성이 더 높으며 사이트의 책임 있는
도박 섹션(시간 제한, 자체 출입 금지 및 입금 한도)을 사용했다. 그들은 게임 중에 훨씬
더 많은 돈을 쓸 가능성이 높다.

15.3 사용자 데이터 추적 추적 메커니즘


데이터 트래픽이 많기 때문에 데이터 추적 메커니즘은 안전하고 확장 가능해야 했다.
API 호출(외부 서버에서 데이터를 가져오기 위한 요청 제출)을 통해 사용자의
브라우저에서 서버로 데이터가 전송된다.

15.4 숨겨진 추세

시각화 중에 숨겨진 패턴 중 일부는 베팅 횟수, 승/패 비율 및 시간 추적 방법이다. 베팅


회수는 사용자가 도박을 한 횟수다. 중독된 사용자의 정의에 따르면 한 달에 1000 번
이상 플레이하는 사람은 누구나 베팅 중독자로 간주된다. 도박을 멀리할 수 없는 도박
중독자는 분명 많은 돈을 잃고 있다는 것이 승패 비율에 대한 첫 예측이었지만,
데이터는 그것이 틀렸음을 증명했다.

중독자는 평균적으로 비중독자보다 50 파운드 더 많은 수익을 얻으며, 90 번째


백분위수에 있는 중독자는 비중독자보다 3 배 더 많은 수익을 얻는다. 그러나 중독자
사이의 베팅 횟수는 평균 1121 로 훨씬 높아졌으며 90 번째 백분위수에 있는 중독자는
월 2,000 개 이상의 게임 횟수에 도달한다.

<Svm 과 Naive Bayes 알고리즘의 비교, 여기서 Svm 중독된 플레이어의 정확한 평균
소비 시간 표시>

데이터 추적 섹션에서 설명한 것처럼 게임 중에 사용자가 소비한 시간을 추적하는 두


가지 방법이 있다. 하나는 사용자가 게임을 떠난 후 각 게임에 시간을 보내는 것이고,
다른 사용자는 15 분마다 보낸 시간 플래그를 보내는 것이다. 위 그림은 두 가지 방법이
관련된 유사한 결과를 보고하지 않음을 보여준다. 두 번째 접근 방식과 비교할 때 첫
번째 방법은 중독자와 비중독자 모두에 대해 거의 동일한 평균 값을 가지며 훨씬 더
높은 평균 값을 갖는다. 두 번째 기술은 보다 지능적으로 추적되는데, 15 분 동안
활발하게 사용하면 단지 소요 시간만 보고된다. 결과적으로 우리는 두 번째 방법인 모델
생성을 살펴보고자 한다.

15.5 데이터 분석

데이터 시각화 및 분석을 통해 이미 알려진 일부 추세를 검증하고 중독자와 비중독자


사이에 숨겨진 추세를 식별했다. 이러한 결과는 다음과 같이 찾을 수 있다.

추세 검증

- 중독된 사용자는 비중독자에 비해 두 배의 시간을 소비한다.


- 중독된 사용자는 그렇지 않은 사용자보다 평균 1.6 배 더 많이 로그인한다.
- 대부분은 자신의 문제를 인지하고 있으며 다양한 책임감 있는 도박수단을 통해
도박습관을 조절하려고 노력하고 있다.
- 중독된 사용자는 비중독자에 비해 평균적으로 더 자주 돈을 입금하고 더 많은
금액을 입금한다.
- 중독자는 평균적으로 비중독자보다 50 파운드 더 많은 수익을 얻으며, 90 번째
백분위수에 있는 중독자는 비중독자보다 3 배 더 많은 수익을 얻는다.
- 23~32 세 연령대의 사용자는 다른 그룹에 비해 중독 가능성이 높다.
- 도박 중독자의 평균 연령은 37 세인 반면 비중독자의 평균 연령은 42 세다.

16. 자동화

머신러닝 모델링과 예측 방법 전체를 매일 수행해야 했다. 모델 생성에는 사용자별 월간


기록을 사용했으나, 예측은 각 사용자의 지난 30 일간의 기록을 기준으로 일 단위로
이루어졌다. 일일 Python 스크립트가 학습 및 예측 프로세스를 촉발했으며 예측이
이루어진 후 결과는 로그 파일에 저장될 예정이다.

17. 결과

논문의 일부로 수행된 작업으로 사용자 데이터 추적부터 잠재적인 베팅 중독자


예측까지 완전한 엔드투 엔드 시스템이 탄생했다. 다음 그림은 전체 시스템의
아키텍처다.
<Python 스크립트에 저장되어 있는 예측이 있는 데이터베이스의 end-to-end
architecture>

이 챕터에서는 데이터 분석 및 기계 학습 예측을 통해 시스템의 주요 결과를 제시한다.


또한 도박 중독자를 보다 정확하게 식별하기 위해 시스템을 더욱 개선할 수 있는 방법에
대한 권장 사항도 있다.

18. 머신러닝 예측

시스템은 전체 사용자 중 14.5%가 도박 중독으로 확인되지 않은 잠재적 중독자로


예측했다. 시스템은 도박중독으로 예측된 대부분의 사용자가 한 달 동안만 예측된다고
했는데, 이는 잠재적인 도박 중독자가 모두 도박중독으로 끝나는 것은 아니라는 것을
의미한다. 시스템은 잠재적 도박중독자 중 4.6%만이 2 개월 이상 지속적으로 잠재적
도박중독 상태를 유지하는 것으로 예측했다. 이러한 결과로부터 시스템이 잠재적인
도박 중독자를 찾는 지표로 사용될 수 있음을 추론할 수 있다. 그러나 도박중독
가능성이 있는 사용자 중 2 개월 이상 지속적으로 중독행동을 보이는 사용자는 4.6%에
불과한 것으로 나타났다.

18.1 오버샘플링

분류 훈련 데이터에는 불균형 클래스 분포가 있었다. 사용자의 80% 이상이 중독되지


않았으며 나머지는 중독되었다. 이러한 데이터로부터 예측 모델을 생성하면 다수
클래스를 가장 많이 예측 하는 고도로 편향된 분류기가 생성된다. 이러한 이유로 소수
데이터는 다수 클래스 요소의 수와 일치 하도록 오버샘플링되었다. Python 의 불균형
학습 클래스는 SMOTE 방법을 사용하여 소수 클래스를 오버샘플링하는 데 사용되었다.
그 결과 각 클래스에 대해 27955 개의 레코드가 있는 데이터 세트가 생성되었다.

18.2 ROC 곡선
ROC 곡선(수신기 작동 곡선)은 모든 분류 임계값에서 분류 모델의 성능을 보여주는
그래프다. 곡선은 두 가지 매개변수를 표시한다.
- 참양성률
- 거짓양성률
ROC 곡선은 다양한 분류 임계값을 표시하며, 분류 임계값을 낮추면 더 많은 항목을
양성으로 분류하므로 거짓양성과 참양성이 모두 증가한다.

<생성된 분류 모델의 성능 정확도를 보여주는 ROC 곡선>파란 점선 : 비중독자 , 주황 실선 :


중독자

19. 혼동 행렬/오차 행렬

혼동 행렬은 분류 모델의 성능을 평가하는 데 사용되는 N x N 행렬이다. 여기서 N 은


대상 클래스의 숫자다. 매트릭스는 실제 목표 값을 기계 학습 모델에서 예측한 값과
비교한다. 이를 통해 분류 모델이 얼마나 잘 수행되고 있는지, 어떤 종류의 오류가
발생하는지에 대한 전체적인 보기를 제공한다.

- 대상 변수에는 다음과 같은 두 가지 값이 있다 : positive 또는 negative


- 열은 대상 변수의 실제 값을 나타낸다.
- 행은 목표 변수의 예측 값을 나타낸다.

혼동 행렬은 단순히 정확도 값을 제공하는 것보다 분류 알고리즘의 결과를 평가하는


훨씬 더 세부적인 방법을 제공한다. 이는 결과를 매트릭스와 함께 결합하는 두 가지
범주, 즉 각 플레이어의 백분위수 값과 실제값인 데이터 포인트의 예측 레이블과 실제
레이블로 나눈다.
<각 클래스별로 분류된 요약된 카운트 값으로 결과를 예측하는 혼동 행렬(정확한
예측과 잘못된 예측)>

위의 그림은 클래스 지원 크기(각 클래스의 요소 수)에 따른 정규화 유무에 따른 혼동


행렬을 보여준다. 대각선 요소는 예측된 레이블이 실제 레이블과 동일한 점수를
나타내고, 비대각선 요소는 분류기에 의해 잘못 레이블이 지정된 요소다. 혼동 행렬의
대각선 값이 높을수록 더 좋으며, 이는 올바른 예측이 많다는 것을 나타낸다.

정밀도 값은 0 과 사이에 있으며, 모든 긍정적인 예측 중에서 실제로 긍정적인 비율이


정밀도가 될 것이다. 모든 양성 중에서 양성으로 예측되는 비율은 정밀도와 비교할 때
높아야 한다. F1 점수는 재현율과 정밀도의 평균이며 거짓양성과 거짓음성을 모두
고려한다.
20. 토론

이 챕터에는 특정 결정이 내려진 이유와 논문이 다시 수행된다면 다르게 수행될 수 있는


사항이 포함했다.

머신러닝의 두 알고리즘인 Support Vector Machine 과 Naïve Bayes 정리를 비교할


때, SVM 은 두 클래스를 나누고 93%의 정확도를 유지하는 초평면이 있기 때문에 더
정확하게 작동하는 반면 Naive Bayes 정리에서는 알고리즘에 불완전성이 있었다.
데이터가 증가함에 따라 SVM 에 비해 구현 속도가 상당히 느렸다.

문제성 도박꾼은 평균적으로 자신의 도박문제에 대해 반박하거나 최소화하는 경향이


있다. 그들은 또한 도박 습관을 숨기기 많은 노력을 기울인다. 인터넷(또는 온라인)
도박은 가장 일반적으로 연구되는 신흥 기술/트렌드였다. 문제성 도박의 비율이
높을수록 이러한 형태의 도박과 관련이 있지만, 최근 연구에 따르면 인터넷을 통한
도박은 본질적으로 문제가 있는 것이 아니라 오히려 다양한 방식으로 다양한
도박꾼에게 영향을 미치는 것으로 보인다.
<Svm 알고리즘을 사용하여 초평면으로 구분된 클래스, 예측된 클래스를 보여주는
결과>

두 클래스(변수와 분석은 하나의 직선으로 분류되므로 데이터 세트는 선형적으로 분리


가능하다. 데이터는 선형이며 결정 경계를 중심으로 가장 가까운 점이 정의하는 영역이
마진이다. 이것이 바로 결정 경계의 이유다. 지원 벡터 머신 모델은 최대 마진 분류기로
알려져 있다.

20.1 시스템의 한계

추적된 데이터에는 기술적 한계로 인해 웹사이트의 스포츠 섹션이 포함되지 않았다.


이로 인해 웹사이트의 스포츠 섹션에 많은 시간과 돈을 소비하는 잠재적인 도박
중독자를 찾는 데 한계가 있었다.
각 사용자의 시간 추적 메커니즘은 사이트 사용 15 분마다 플래그를 전송하며, 다음
시간 플래그가 전송되기 전의 시간은 추적되지 않아 추적에 소요된 시간이 부정확하게
표시된다.

21. 결론

본 논문은 잠재적인 도박 중독자를 찾아 그들의 사용 기록을 기반으로 한 자조 시스템을


개발하려고 시도했다. 레이블이 지정된 데이터는 사용 통계를 기반으로 잠재적인 도박
중독자를 찾기 위해 모델을 훈련하는 데 사용되었다. 데이터는 사용 행동의 패턴을 찾기
위해 추적, 정리, 집계및 분석되었다. 정리되고 집계된 데이터는 두 가지 다른
알고리즘을 사용하여 기계 학습 모델을 교육하는 데 사용되었으며 Support Vector
Machine 이 Naïve Bayes 보다 더 나은 성능을 발휘하는 것으로 나타났다. 그런 다음
전체 시스템이 자동화되어 Python 스크립트를 통해 자동으로 예측하는 자조
시스템으로 매일 학습을 수행했다. 모델의 사후 예측 평가 결과, 시스템에 의해
잠재적인 도박 중독자로 식별된 후 2 개월 이상 도박 중독으로 판명된 사용자는 4.6%에
불과했다.

인간은 결국 시스템이 이해할 수 있는 출력 패턴으로 변환될 수 있는 입력 및 출력에


기반을 두고 있다. 결과적으로, 문제성 도박꾼들이 비록 많긴 하지만. 나타내는 행동
패턴을 사용하여 문제 도박꾼을 식별할 수 있다. 이는 문제성 도박꾼들을 올바르게
분석하면 기계 학습을 사용하여 향후 문제 도박 분야의 솔루션을 만들고 위험을
식별하는 데 사용될 수 있다는 믿음으로 이어졌다. 문제성 도박꾼들을 대상으로 한
연구에 참여한 사람들의 대다수는 그들을 돕기 위해 고안된 시스템이 수용될 것이라고
생각하는 것 같았다.

You might also like