안녕하세요. silversmith 입니다.
오늘은 머신러닝을 기반으로 만든 로또 예측기 V1.1을 소개드리려고 합니다.
파이썬으로 작업했습니다.
지난주에 V1.0 으로 출발해서 5조합 구매했지만...
ㅋㅋㅋ
예측기 V1.0 이 예측한 1168회 번호입니다.
예측은 4.17일에 하였고, 구입은 4.17일 16시44분에 했습니다.
과연 결과는 ...............
네.. 어느정도 예측하셨겠지만.. 꽝입니다.
로또가 과연 프로그램으로 예측이 가능한지 모르겠지만...
한번 해보려구 합니다.
여러분들도 응원해 주세요...
그럼 프로그램 설명 드려볼께요~
✅ 주요 기능
- 📂 최신회차 자동 업데이트
동행복권 API를 통해 1회차부터 최신까지 데이터 자동 수집 - 🧠 자동 학습 재실행
머신러닝 모델을 최신 데이터로 재학습 (TensorFlow 기반) - 🎯 고정 예측
학습된 모델의 확률이 높은 번호 중 6개 고정 추천 - 🎲 랜덤 예측
모델이 제시한 확률값 기반으로 확률적 랜덤 예측 - 📊 빈도 기반 예측 (신규!)
최근 많이 등장한 번호 중 조합된 예측 (실제 번호 분포를 반영) - 🥇 과거 등수 자동 확인
예측한 번호가 과거 어떤 회차에서 몇 등을 했는지 자동 확인
💻 사용 기술
- Python 3.10
- Flask (웹 프레임워크)
- TensorFlow (딥러닝)
- HTML + JavaScript (웹 UI)
- CSV 기반 데이터 로딩 및 로깅
✅ 버전 히스토리 (V1.0 → V1.1)
예측 방식 | 고정 예측 / 랜덤 예측 | + 📊 빈도 기반 예측 추가 |
등수 확인 | /check_ranks 버튼 수동 클릭 | 예측 직후 자동 등수 평가 |
UI 구성 | 결과만 표시 | 예측 + 등수 결과 함께 표시 |
로그 저장 | 예측만 기록 | 예측 + 빈도 기반 포함 기록 가능 |
시각 디자인 | 기본 | 헤더 개선, 제작자 정보 표시 |
지난주 로또구입후 확인결과 낙첨이기에, 버전을 업그레이드 했습니다.
이번주에도 구입후 당첨결과를 다음주에 알려드리겠습니다.
프로그램 초기 화면입니다.
웹버전으로 웹브라우저에서 실행합니다.
초기 접속후 최신회차 갱신 버튼을 클릭하면 1 ~ 1168회차(2025.4.19 현재) 까지 1등 당첨 번호와 보너스 번호를 수집합니다.
수집한 후 파일로 저장합니다.
이제 머신러닝을 시켜 보겠습니다.
자동학습 재실행 버튼을 누르면 자동학습을 실행합니다.
현재는 1168회 학습을 합니다.
1168회차 까지 추첨이 되었으니, 일단 1168회차 까지 학습을 진행했습니다.
초기에는 100회정도 학습을 했습니다만... 뭐 정답은 없기에,
1168회로 학습을 합니다.
1168회 학습은 시간을 많이 잡아 먹습니다.(약 10분정도 소요)
자~ 이제 학습은 끝났고, 예측만 하면 됩니다.
일단 예측의 종류를 말씀 드리겠습니다.
1. 고정예측 : 딥러닝 모델이 예측한 확률값 중 상위 12개 후보에서 6개를 고정 선택
- 예측 결과 항상동일
- 가장 신뢰도 높은 번호
2. 랜덤 예측 : 모델이 제시한 확률값(0~1)을 확률가중치로 하여 번호를 랜덤 선택
- 매번 결과 다름
- 운과 패턴 혼합 방식
3. 빈도 기반 예측 : 과거 출현 빈도가 높은 번호 10개중 5개 + 나머지 1개는 무작위로 조합
- 과거 통계 기반
- 머신러닝과 무관함
일단 이렇게 만들어서 5조합씩 추출합니다.
저는 이 조합중에 고정예측을 참고하여 구매 하였습니다.
조합 오른편에 점수와 등수를 설명드리겠습니다.
점수 : 예측된 번호들의 "강도"를 의미합니다. 과거 로또데이타에서 얼마나 자주 등장했는지를 기준으로 산정했습니다.
등수 : 실제 로또 당첨번와 얼마나 일치했는지를 의미합니다. 로또 공식 기준(1등~5등)에 따라 자동 판별합니다.
🧠 머신러닝 모델 구성
- 입력: 최근 당첨 번호 → One-hot encoding (45차원)
- 출력: 다음 회차 예상 번호의 확률값 (45차원)
- 구조: Dense(128) → Dropout → Dense(64) → Dropout → Dense(45, sigmoid)
👨💻 제작자
Made by Travis
- YouTube / 블로그: 추후 공개 예정
📌 마무리
로또는 어디까지나 운이지만,
데이터를 기반으로 패턴을 분석하고 예측하는 과정에서 많은 재미를 느꼈습니다.
혹시 도움이 되셨다면 댓글, 공감, 공유 부탁드려요! 😊
이프로그램은 챗GPT 의 도움을 받았습니다.
'파이썬 코딩' 카테고리의 다른 글
로또 1170회 당첨 결과~ (2) | 2025.05.08 |
---|---|
연금복권720+ 261회 당첨 결과 (1) | 2025.05.02 |
과연~ 이번주 로또 결과는??? (0) | 2025.04.28 |
연금 복권 720+ 당첨 결과 (0) | 2025.04.25 |
로또 예측기를 업데이트 해보자(V1.1) - EP2 (1) | 2025.04.24 |