<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://8j0rn.dagbok.ru/history/DeepSeek/LSTM.6x45?feed=atom</id>
	<title>DeepSeek/LSTM.6x45 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://8j0rn.dagbok.ru/history/DeepSeek/LSTM.6x45?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://8j0rn.dagbok.ru/history/DeepSeek/LSTM.6x45"/>
	<updated>2026-10-26T20:39:05Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://8j0rn.dagbok.ru/index.php?title=DeepSeek/LSTM.6x45&amp;diff=316&amp;oldid=prev</id>
		<title>8j0rn: Новая страница: «Чтобы улучшить модель предсказания лотерейных чисел, предлагаю комплексный подход, сочетающий технические улучшения и анализ закономерностей. Вот конкретные шаги:  1. Улучшение данных Добавьте временные признаки:  &lt;syntaxhighlight lang=&quot;python&quot;&gt; # В calculate_additional_features(...»</title>
		<link rel="alternate" type="text/html" href="https://8j0rn.dagbok.ru/index.php?title=DeepSeek/LSTM.6x45&amp;diff=316&amp;oldid=prev"/>
		<updated>2025-08-12T21:23:53Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Чтобы улучшить модель предсказания лотерейных чисел, предлагаю комплексный подход, сочетающий технические улучшения и анализ закономерностей. Вот конкретные шаги:  1. Улучшение данных Добавьте временные признаки:  &amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt; # В calculate_additional_features(...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Чтобы улучшить модель предсказания лотерейных чисел, предлагаю комплексный подход, сочетающий технические улучшения и анализ закономерностей. Вот конкретные шаги:&lt;br /&gt;
&lt;br /&gt;
1. Улучшение данных&lt;br /&gt;
Добавьте временные признаки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# В calculate_additional_features()&lt;br /&gt;
features[&amp;#039;days_since_last&amp;#039;] = (draws[&amp;#039;date&amp;#039;].iloc[i] - draws[&amp;#039;date&amp;#039;].iloc[i-1]).days if i &amp;gt; 0 else 0&lt;br /&gt;
features[&amp;#039;day_of_week&amp;#039;] = draws[&amp;#039;date&amp;#039;].iloc[i].weekday()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Глубина статистики:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Замените window_size=100 на динамическое окно&lt;br /&gt;
window_size = min(100, i)  # Для начальных тиражей&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Усовершенствованная архитектура модели&lt;br /&gt;
Добавьте механизм внимания:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from tensorflow.keras.layers import Attention&lt;br /&gt;
&lt;br /&gt;
# После LSTM слоев:&lt;br /&gt;
attention = Attention()([lstm_layer, lstm_layer])&lt;br /&gt;
combined = Concatenate()([lstm_layer, attention, features_input])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Оптимизация гиперпараметров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from kerastuner import HyperModel&lt;br /&gt;
&lt;br /&gt;
class LotteryHyperModel(HyperModel):&lt;br /&gt;
    def build(self, hp):&lt;br /&gt;
        # Тестируем разные конфигурации&lt;br /&gt;
        num_layers = hp.Int(&amp;#039;num_layers&amp;#039;, 1, 3)&lt;br /&gt;
        units = hp.Choice(&amp;#039;units&amp;#039;, [64, 128, 256])&lt;br /&gt;
        dropout = hp.Float(&amp;#039;dropout&amp;#039;, 0.1, 0.5)&lt;br /&gt;
        &lt;br /&gt;
        # Строим модель с этими параметрами&lt;br /&gt;
        ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Постобработка предсказаний&lt;br /&gt;
Фильтрация нереалистичных комбинаций:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def filter_combination(comb):&lt;br /&gt;
    # Проверка четности (3 четных и 3 нечетных)&lt;br /&gt;
    even = sum(1 for num in comb if num % 2 == 0)&lt;br /&gt;
    # Проверка суммы (средняя ~138)&lt;br /&gt;
    sum_ok = 120 &amp;lt;= sum(comb) &amp;lt;= 160&lt;br /&gt;
    # Проверка распределения по десяткам&lt;br /&gt;
    tens = [num//10 for num in comb]&lt;br /&gt;
    unique_tens = len(set(tens))&lt;br /&gt;
    &lt;br /&gt;
    return even == 3 and sum_ok and unique_tens &amp;gt;= 4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Альтернативные подходы&lt;br /&gt;
Ансамбль моделей:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# LSTM + Gradient Boosting&lt;br /&gt;
from sklearn.ensemble import GradientBoostingRegressor&lt;br /&gt;
&lt;br /&gt;
# Обучаем GBM на тех же признаках&lt;br /&gt;
gbm = GradientBoostingRegressor()&lt;br /&gt;
gbm.fit(X_feat_scaled, y_scaled)&lt;br /&gt;
&lt;br /&gt;
# Комбинируем предсказания&lt;br /&gt;
lstm_pred = model.predict([X_seq_test, X_feat_test])&lt;br /&gt;
gbm_pred = gbm.predict(X_feat_test)&lt;br /&gt;
final_pred = 0.7 * lstm_pred + 0.3 * gbm_pred  # Взвешенное среднее&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Анализ результатов&lt;br /&gt;
Визуализация важности признаков:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import seaborn as sns&lt;br /&gt;
&lt;br /&gt;
# Для GBM модели&lt;br /&gt;
feature_importance = gbm.feature_importances_&lt;br /&gt;
sns.barplot(x=feature_importance, y=[&amp;#039;hot_count&amp;#039;, &amp;#039;cold_count&amp;#039;, &amp;#039;last_seen&amp;#039;, &amp;#039;frequency&amp;#039;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Точность по позициям:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Проверяем, на каких позициях чаще угадываем&lt;br /&gt;
position_accuracy = []&lt;br /&gt;
for pos in range(6):&lt;br /&gt;
    correct = sum(1 for pred, real in zip(predictions, y_test) if pred[pos] in real)&lt;br /&gt;
    position_accuracy.append(correct/len(y_test))&lt;br /&gt;
&lt;br /&gt;
plt.bar(range(1,7), position_accuracy)&lt;br /&gt;
plt.title(&amp;#039;Точность по позициям&amp;#039;)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Регулярное обновление&lt;br /&gt;
Автоматический пайплайн:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Еженедельное обновление&lt;br /&gt;
import schedule&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
def weekly_job():&lt;br /&gt;
    update_data()&lt;br /&gt;
    retrain_model()&lt;br /&gt;
    make_predictions()&lt;br /&gt;
&lt;br /&gt;
schedule.every().week.do(weekly_job)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    schedule.run_pending()&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключевые улучшения:&lt;br /&gt;
Гибридная архитектура - комбинаци&lt;/div&gt;</summary>
		<author><name>8j0rn</name></author>
	</entry>
</feed>