Mô hình dự đoán số xổ số sử dụng Recurrent Neural Network (RNN) với Long Short-Term Memory (LSTM) layers, được xây dựng bằng TensorFlow/Keras.
- 255 số đặc biệt:
- 712,458,188,853,912,997,661,110,978,489,529,507,965,675,485,303,322,739,508,844,681,772,028,399,122,230,759,252,159,488,307,897,545,642,410,118,339,271,722,278,629,995,474,309,523,404,405,907,415,854,251,904,896,179,157,469,801,632,783,685,305,169,513,964,697,347,247,318,543,721,798,974,249,959,187,668,810,015,498,821,660,761,600,267,369,231,436,999,228,378,417,466,366,951,067,910,509,971,135,537,634,923,729,552,312,292,929,034,222,913,136,538,448,471,651,790,928,196,590,594,131,802,115,455,017,644,050,178,542,667,012,612,858,941,926,665,548,981,005,882,051,257,643,253,107,720,482,059,966,775,843,039,534,919,081,662,434,921,895,390,486,027,302,993,636,986,573,609,598,111,514,996,055,360,332,771,953,380,702,362,833,824,058,613,957,891,314,836,071,616,259,053,473,030,496,396,700,054,224,526,080,607,171,199,860,604,726,615,497,269,114,258,397,553,960,143,777,416,186,623,376,125,557,862,394,576,840,814,674,911,134,450,100,815,748,127,389,256,163,852,762,446,938,536,719,475,341,323,809,647,425,348,796,070,077
| Ngày | 3 càng đặc biệt | 3 càng đầu |
|---|---|---|
| 05/01/2026 | Số 505 - ❌ TRẬT | Số 525, 408, 194 - ✅ TRÚNG 1/3 |
| 04/01/2026 | Số 397 - ❌ TRẬT | Số 239, 577, 634 - ✅ TRÚNG 1/3 |
| 03/01/2026 | Số 949 - ❌ TRẬT | Số 512, 176, 433 - ✅ TRÚNG 1/3 |
| 02/01/2026 | Số 748 - ❌ TRẬT | Số 641, 853, 159 - ❌ TRẬT |
| 01/01/2026 | Số 068 - ❌ TRẬT | Số 731, 617, 253 - ❌ TRẬT |
-
Mô hình chính:
raw_numbers: Dự đoán số xổ số nguyên (000-999) với 255 dự đoán khác nhau
-
Kiến trúc mô hình:
- 3 LSTM layers với dropout và regularization
- GaussianNoise, BatchNormalization, L2 regularization
- Data augmentation và temperature scaling
- Early stopping và learning rate reduction
- Validation split 20%
# Clone repository chính
git clone https://github.com/itmanvn/3cang.git
cd 3cang
# Clone và cập nhật submodule vietnam-lottery-xsmb-analysis
git submodule update --init --recursiveLưu ý quan trọng: Repository này sử dụng git submodule để quản lý dự án vietnam-lottery-xsmb-analysis. Đảm bảo bạn đã clone đầy đủ submodule để script fetch.py hoạt động chính xác.
pip install -r requirements.txt
cd vietnam-lottery-xsmb-analysis
pip install -r requirements.txt- Đảm bảo file
data-dacbiet.txtchứa dữ liệu xổ số (mỗi dòng một số 3 chữ số) - Đảm bảo thư mục
vietnam-lottery-xsmb-analysisđã được clone đầy đủ
Lấy kết quả xổ số mới nhất và cập nhật vào file dữ liệu:
python fetch.pyScript sẽ:
- Bước 1: Chạy script
fetch.pytrongvietnam-lottery-xsmb-analysis/srcđể fetch dữ liệu mới - Bước 2: Đọc dữ liệu từ
vietnam-lottery-xsmb-analysis/data/xsmb.json(đã được cập nhật) - Bước 3: Trích xuất 3 số cuối của giải đặc biệt từ tất cả bản ghi
- Bước 4: Cập nhật file
data-dacbiet.txtvới các số mới (nếu có) - Kết quả: Đồng bộ dữ liệu giữa
xsmb.jsonvàdata-dacbiet.txt
Chạy script chính để huấn luyện mô hình raw_numbers:
python lottery_prediction_model.pyScript sẽ:
- Đọc dữ liệu từ
data-dacbiet.txt - Chuẩn bị dữ liệu cho dự đoán raw_numbers
- Huấn luyện mô hình LSTM
- Lưu mô hình dưới dạng file
.keras(định dạng mới) - Lưu scaler tương ứng để sử dụng dự đoán
- Thực hiện dự đoán 255 số mẫu
Kiểm tra trạng thái các mô hình:
python check_models.pyScript sẽ:
- Hiển thị danh sách tất cả mô hình
- Kiểm tra trạng thái và kích thước
- Xác minh scaler tương ứng
- Kiểm tra file dữ liệu
Sau khi huấn luyện xong, sử dụng script dự đoán:
python predict_lottery.pyScript sẽ:
- Tự động tìm mô hình mới nhất
- Đọc dữ liệu gần nhất
- Thực hiện dự đoán
- Hiển thị kết quả chi tiết
Dự đoán 255 số khác nhau hoàn toàn từ mô hình raw_numbers:
python predict_255_unique_from_model.pyScript sẽ:
- Tải mô hình raw_numbers mới nhất
- Thực hiện dự đoán 255 số khác nhau hoàn toàn
- Sử dụng temperature scaling cao (3.0) và top-10 sampling
- Lưu kết quả vào file
data-predict.jsonvới định dạng JSON
3cang/
├── lottery_prediction_model.py # Script huấn luyện chính (chỉ raw_numbers)
├── predict_lottery.py # Script dự đoán cơ bản
├── predict_255_unique_from_model.py # Script dự đoán 255 số khác nhau
├── update_readme.py # Script cập nhật README.md tự động
├── fetch.py # Script lấy kết quả xổ số và cập nhật dữ liệu
├── check_models.py # Script kiểm tra mô hình
├── cleanup_models.py # Script dọn dẹp model cũ
├── requirements.txt # Dependencies
├── data-dacbiet.txt # Dữ liệu xổ số
├── data-predict.json # Kết quả dự đoán 255 số (JSON)
├── results.json # Kết quả kiểm tra dự đoán
├── README.md # Hướng dẫn này
├── lottery_model_raw_numbers_*.keras # Mô hình raw_numbers (định dạng mới)
├── lottery_model_raw_numbers_*_scaler.npy # Scaler tương ứng
├── .gitmodules # Cấu hình git submodule
└── vietnam-lottery-xsmb-analysis/ # Git submodule (dữ liệu xổ số)
├── src/
│ ├── lottery.py # Module xử lý dữ liệu xổ số
│ └── fetch.py # Script fetch dữ liệu từ web
├── data/
│ └── xsmb.json # Dữ liệu xổ số gốc
└── README.md # Hướng dẫn submodule
Lưu ý: Thư mục vietnam-lottery-xsmb-analysis là một git submodule chứa dữ liệu xổ số và các script xử lý dữ liệu. Script fetch.py trong thư mục gốc sẽ gọi script trong submodule này để cập nhật dữ liệu.
SEQUENCE_LENGTH: Độ dài chuỗi đầu vào (mặc định: 10)EPOCHS: Số epoch huấn luyện (mặc định: 100, giảm xuống 80 cho raw_numbers)BATCH_SIZE: Kích thước batch (mặc định: 32)lstm_units: Số units trong LSTM layers (mặc định: 96 cho raw_numbers)dropout_rate: Tỷ lệ dropout (mặc định: 0.4 cho raw_numbers)temperature: Temperature scaling cho dự đoán (mặc định: 3.0)top_k: Số predictions top-k cho sampling (mặc định: 10)
Input (10, 1) - Chuỗi 10 số gần nhất
↓
GaussianNoise(0.05) - Thêm noise nhẹ
↓
LSTM(96, return_sequences=True) + L2 regularization
↓
Dropout(0.4) + BatchNormalization
↓
LSTM(48, return_sequences=True) + L2 regularization
↓
Dropout(0.4) + BatchNormalization
↓
LSTM(24) + L2 regularization
↓
Dropout(0.4) + BatchNormalization
↓
Dense(48, activation='relu') + L2 regularization
↓
Dropout(0.4) + BatchNormalization
↓
Dense(1000, activation='softmax') - 1000 số từ 000-999
- Input: Chuỗi 10 số xổ số gần nhất
- Output: Dự đoán 255 số tiếp theo (000-999)
- Độ chính xác: Phụ thuộc vào tính ngẫu nhiên của xổ số
- Đặc biệt: Sử dụng regularization, data augmentation và temperature scaling để tăng đa dạng dự đoán
- Ứng dụng: Dự đoán số xổ số với độ đa dạng cao
- Đây chỉ là mô hình AI dựa trên dữ liệu lịch sử
- KHÔNG đảm bảo kết quả dự đoán chính xác
- Xổ số là trò chơi may rủi, không thể dự đoán chính xác 100%
- Chỉ sử dụng cho mục đích nghiên cứu và giải trí
Nếu gặp lỗi GPU, có thể chuyển sang CPU:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '-1'Giảm batch_size hoặc sequence_length nếu gặp lỗi out of memory.
Đảm bảo file data-dacbiet.txt chứa đúng định dạng:
- Mỗi dòng một số
- Số có đúng 3 chữ số
- Không có ký tự đặc biệt
Nếu mô hình raw_numbers dự đoán lặp lại nhiều:
- Sử dụng
python predict_255_unique_from_model.pyđể đảm bảo 255 số khác nhau - Tăng temperature scaling (từ 1.5 lên 3.0)
- Tăng top-k sampling (từ top-5 lên top-10)
- Sử dụng data augmentation và regularization mạnh hơn
- Thời gian huấn luyện: Khoảng 5-15 phút cho mô hình raw_numbers
- Độ chính xác: Thường đạt 15-25% trên validation set
- Kích thước mô hình: Khoảng 1.5-2 MB cho file .keras
- Thời gian dự đoán: Khoảng 1-2 phút cho 255 số khác nhau
- Tính đa dạng: Đảm bảo 255 số khác nhau hoàn toàn (100%)
# Cập nhật submodule lên phiên bản mới nhất
git submodule update --remote
# Hoặc cập nhật submodule cụ thể
cd vietnam-lottery-xsmb-analysis
git pull origin main
cd ..
git add vietnam-lottery-xsmb-analysis
git commit -m "Update vietnam-lottery-xsmb-analysis submodule"# Clone với submodule (khuyến nghị)
git clone --recurse-submodules https://github.com/your-username/3cang.git
# Hoặc clone riêng lẻ
git clone https://github.com/your-username/3cang.git
cd 3cang
git submodule init
git submodule update# Xem trạng thái submodule
git submodule status
# Xem thông tin chi tiết
git submodule foreach git statusNếu gặp lỗi với submodule:
# Xóa và clone lại submodule
rm -rf vietnam-lottery-xsmb-analysis
git submodule update --init --recursive
# Hoặc reset submodule về trạng thái commit
git submodule update --force --recursiveĐể cải thiện mô hình, có thể:
- Thêm features mới (ngày tháng, mùa, v.v.)
- Thử nghiệm kiến trúc khác (GRU, Transformer)
- Sử dụng ensemble methods
- Tối ưu hóa hyperparameters
- Cải thiện temperature scaling và top-k sampling
- Thêm data augmentation techniques mới
- Tham khảo thêm: https://www.beatlottery.co.uk/lottery-predictions
Dự án này chỉ dành cho mục đích nghiên cứu và giáo dục.