112 lines
6.1 KiB
Plaintext
112 lines
6.1 KiB
Plaintext
데이터는 다음과 같습니다.
|
|
(학습 데이터)
|
|
- train.json, train.txt
|
|
- 1회차부터 800회차
|
|
|
|
(검증 데이터)
|
|
- valid.json, valid.txt
|
|
- 801회차부터 1000회차
|
|
|
|
파일 구조를 먼저 이해하세요.
|
|
|
|
- train.py, valid.py는 각 데이터에 대한 당첨 여부 확인입니다. filter_model.py를 이용하여 그 동안 몇회 당첨이 되었는지와 어떤 규칙으로 탈락이 되었는지를 분석해 줍니다.
|
|
|
|
로또 추출 로직은 다음 파일입니다.
|
|
- filter_model.py
|
|
|
|
(filter_model의 필터 설명)
|
|
- filterPairBall는 함께 나오지 않을 만한 2개 숫자에 대한 조합입니다.
|
|
- filterTriplePairBall는 함께 나오지 않을 만한 3개 숫자에 대한 조합입니다.
|
|
- filterPatternInPaper1 ~ filterPatternInPaper6까지 함수는 용지 영역에서 함께 나오지 않을 법한 숫자 조합입니다.
|
|
- 그 외 숫자 합, 숫자 평균, AC 값 등 로직 포함
|
|
|
|
(요구사항)
|
|
- 100회차에 최소 1회 당첨 필터 로직 만드는 것입니다.
|
|
- filter_model.py를 최적화 해야 합니다.
|
|
-- 만약 불필요한 로직이 있다면 제거해도 좋습니다.
|
|
-- filterPairBall과 filterTriplePairBall, filterPatternInPaper1 ~ filterPatternInPaper6의 필터도 학습 데이터를 분석해서 최적화 해주세요.
|
|
-- 다음의 다른 모든 필터 로직도 재설계 및 최적화 해주세요...
|
|
--- 당첨번호 6개 합
|
|
--- 당첨번호 6개 합에 대한 전주와 차이
|
|
--- 당첨번호 6개 평균
|
|
--- 당첨번호 6개 평균에 대한 전주와 차이
|
|
--- 앞 3개 볼의 합
|
|
--- 앞 3개 볼의 합에 대한 전주와 차이
|
|
--- 뒤 3개 볼의 합
|
|
--- 뒤 3개 볼의 합에 대한 전주와 차이
|
|
--- 23기준 작은 숫자 개수와 큰 숫자 개수
|
|
--- 고저합 (가장 큰 수와 가작 작은 숫자의 합)
|
|
--- 고저합 (가장 큰 수와 가작 작은 숫자의 합)에 대한 전주와 차이
|
|
--- ball 간격의 합
|
|
--- ball 간격의 합에 대한 전주와 차이
|
|
--- 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 28은 2)
|
|
--- 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 28은 2)에 대한 전주와 차이
|
|
--- 두 자리 중 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)
|
|
--- 두 자리 중 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)에 대한 전주와 차이
|
|
--- 첫번째 숫자
|
|
--- 첫번째 숫자에 대한 전주와 차이
|
|
--- 마지막 숫자
|
|
--- 마지막 숫자에 대한 전주와 차이
|
|
--- Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)
|
|
--- Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)에 대한 전주와 차이
|
|
--- AC 값
|
|
--- AC 값에 대한 전주와 차이
|
|
--- 3의 배수의 개수
|
|
--- 3의 배수의 개수에 대한 전주와 차이
|
|
--- 4의 배수의 개수
|
|
--- 4의 배수의 개수에 대한 전주와 차이
|
|
--- 5의 배수의 개수
|
|
--- 5의 배수의 개수에 대한 전주와 차이
|
|
--- 6의 배수의 개수
|
|
--- 6의 배수의 개수에 대한 전주와 차이
|
|
--- 7의 배수의 개수
|
|
--- 7의 배수의 개수에 대한 전주와 차이
|
|
--- 8의 배수의 개수
|
|
--- 8의 배수의 개수에 대한 전주와 차이
|
|
--- 9의 배수의 개수
|
|
--- 9의 배수의 개수에 대한 전주와 차이
|
|
--- 10의 배수의 개수
|
|
--- 10의 배수의 개수에 대한 전주와 차이
|
|
--- 11의 배수의 개수
|
|
--- 11의 배수의 개수에 대한 전주와 차이
|
|
--- 13의 배수의 개수
|
|
--- 13의 배수의 개수에 대한 전주와 차이
|
|
--- 17의 배수의 개수
|
|
--- 17의 배수의 개수에 대한 전주와 차이
|
|
--- 19의 배수의 개수
|
|
--- 19의 배수의 개수에 대한 전주와 차이
|
|
--- 23의 배수의 개수
|
|
--- 23의 배수의 개수에 대한 전주와 차이
|
|
--- 소수 포함 개수
|
|
--- 복소수 포함 개수
|
|
--- 복소수 포함 개수에 대한 전주와 차이
|
|
--- 홀짝 개수
|
|
--- 홀짝 개수에 대한 전주와 차이
|
|
--- 용지에 안나올 것 같은 마킹 위치 (filterPatternInPaper1~filterPatternInPaper6)
|
|
--- 전회차와 주어진 볼과 전후 볼
|
|
--- 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수
|
|
--- 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수에 대한 전주와 차이
|
|
--- 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수
|
|
--- 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
|
|
--- 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수
|
|
--- 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
|
|
--- 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수
|
|
--- 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
|
|
--- 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수
|
|
--- 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
|
|
--- 통계적으로 잘 나올 것 같지 않은 3개 공 조합 체크
|
|
--- 이전 7회차에서 안나온 값이 없는 경우
|
|
--- 하나의 당첨 번호에서 N개 연속된 숫자인지 체크
|
|
|
|
-- 최적화된 로직은 매우 엄격해야 합니다.
|
|
--- 매 회차에서 필터에 걸리지 않고 살아남는 조합의 개수는 300개 이내이면 좋겠습니다.
|
|
--- 301개 넘는 다고 중단하라는 의미는 아닙니다.
|
|
--- 가급적 필터에 많이 걸러서 적은 비용으로 구매할 수 있도록 해달라는 의미입니다.
|
|
|
|
- train 데이터를 이용하여 filter_model의 필터 로직을 만들고 valid 데이터로 실험을 하세요.
|
|
-- valid 데이터는 200회차가 존재함으로 최소 3회 이상 당첨이 되어야 합니다.
|
|
|
|
먼저 진행해야할 일에 대해서 생각하고 정리하세요.
|
|
그리고 요구사항에 대해서 시도 방법을 설계하세요.
|
|
그리고 반복적으로 실행해서 최적화된 방법을 찾아서 적용해주세요.
|
|
(최적화는 언제든 학습 데이터로 최적화를 해야 합니다. 그리고 검증 데이터로 테스트만 수행하세요.) |