Rezende Posted December 5, 2019 Share Posted December 5, 2019 6 minutos atrás, meloluan disse: Perdi 5 reais ok este é o nosso trabalho mesmo, tentar lucrar. vamos para a proxima. Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 5, 2019 Share Posted December 5, 2019 @meloluan Consegui rodar pro jupyter mas ao abrir o projeto, apresenta esse erro Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 5, 2019 Share Posted December 5, 2019 1 hora atrás, Nanilinho disse: @meloluan Consegui rodar pro jupyter mas ao abrir o projeto, apresenta esse erro Essa linha tem que alterar: /home/luan/Documentos/Lotofácil/ENV/lib/python3.6/site-packages/pandas/core/indexing.py:205: SettingWithCopyWarning Quote Link to comment Share on other sites More sharing options...
meloluan Posted December 5, 2019 Author Share Posted December 5, 2019 @Nanilinho Estranho, pq ele tá pegando um caminho relativo a minha máquina Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 5, 2019 Share Posted December 5, 2019 1 hora atrás, meloluan disse: @Nanilinho Estranho, pq ele tá pegando um caminho relativo a minha máquina Deve ter configurado o caminho. Está apresentando vários erros na execução. Talvez falte alguns módulos. Aguardo seu tutorial Quote Link to comment Share on other sites More sharing options...
FF882007 Posted December 5, 2019 Share Posted December 5, 2019 3 horas atrás, meloluan disse: @Nanilinho Estranho, pq ele tá pegando um caminho relativo a minha máquina Spoiler /home/fernando/projetos/projetosenv/lib/python3.7/site-packages/pandas/core/indexing.py:205: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy self._setitem_with_indexer(indexer, value) /home/fernando/projetos/projetosenv/lib/python3.7/site-packages/ipykernel_launcher.py:2: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy 1 1763 0 135 Name: ganhadores_15_números, dtype: int64 @meloluan no meu esta dando esta mensagem(no spoiler), percebi qua a pasta "pandas" não existe no diretorio, --------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-2-7b75b1487b07> in <module> ----> 1 ultimo_sorteio = sorted(anterior) 2 jogos = 10 3 4 for x in range(jogos): 5 indexes = random.sample(range(0, 15), 10) NameError: name 'anterior' is not defined alguma dica... Técnica e Investimento, Sempre!! Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 5, 2019 Share Posted December 5, 2019 Quote Link to comment Share on other sites More sharing options...
Marco Silva Posted December 5, 2019 Share Posted December 5, 2019 Pessoal, boa tarde. Segue o codigo descompilado. Lembrando que tem que baixar todas as bibliotecas necessarias Spoiler import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import missingno as msno import requests import zipfile from bs4 import BeautifulSoup import lxml #get_ipython().run_line_magic('matplotlib', 'inline') #pd.set_option('display.max_columns',500) url = 'http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip' target_path = 'D_lotfac.zip' response = requests.get(url, stream=True) handle = open(target_path, "wb") for chunk in response.iter_content(chunk_size=512): if chunk: # filter out keep-alive new chunks handle.write(chunk) handle.close() with zipfile.ZipFile(target_path) as zf: zf.extractall() fileHtml = 'd_lotfac.htm' f = open(fileHtml, 'r', encoding='latin-1') table=f.read() soup = BeautifulSoup(table, 'html.parser') table = soup.find(name='table') table_str = str(table) df = pd.read_html(table_str)[0] df.shape df.dtypes df['data_sorteio_conv'] = df.iloc[:,1] df.data_sorteio_conv = pd.to_datetime(df.data_sorteio_conv) df['day'] = df.data_sorteio_conv.dt.day df['month'] = df.data_sorteio_conv.dt.month df['year'] = df.data_sorteio_conv.dt.year df_ganhadores = df[:] df_ganhadores.head() # Visão geral do dataframe msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Removendo valores nulos df = df.dropna(subset=['Concurso']) msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Removendo colunas Cidade e UF df = df.drop(['Cidade', 'UF'], axis=1) msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Ganhadores X Volume do Prêmio por Estado ax = df_ganhadores.groupby(['UF'])['Ganhadores_13_Números'].agg('sum').sort_values(ascending=False).plot(kind='bar', title='Ganhadores por Estado', figsize=(15,5), fontsize=12, legend=True, position=1, color='gray') # df_ganhadores.groupby(['UF'])['Rateio_Sena'].agg('sum').sort_values(ascending=False).plot(kind='bar', ax=ax, secondary_y=True, legend=True, position=0, color='blue') # Ganhadores X Mes # Ganhadores X Volume do Prêmio por Estado df_ganhadores.groupby(['month'])['Ganhadores_15_Números'].agg('sum').plot(kind='bar', title='Ganhadores X Mês', fontsize=12, figsize=(15,5), legend=True, color='gray') # ### Analisando dezenas sorteadas # Verificando se alguma vez as dezenas se repetiram na mesma ordem df.groupby(['Bola1','Bola2', 'Bola3', 'Bola4', 'Bola5', 'Bola6','Bola7', 'Bola8', 'Bola9', 'Bola10', 'Bola11','Bola12', 'Bola13', 'Bola14', 'Bola15']).size().sort_values(ascending=False) # As dezenas mais sorteadas em todos os jogos dezenas = pd.DataFrame(df['Bola1'].tolist() + df['Bola2'].tolist() + df['Bola3'].tolist() + df['Bola4'].tolist() + df['Bola5'].tolist() + df['Bola6'].tolist() +df['Bola7'].tolist() + df['Bola8'].tolist() + df['Bola9'].tolist() + df['Bola10'].tolist() + df['Bola11'].tolist() + df['Bola12'].tolist() + df['Bola13'].tolist() + df['Bola14'].tolist() + df['Bola15'].tolist(), columns=['numeros']) dezenas['numeros'].value_counts().sort_values(ascending=True).head(15).plot(kind='barh', title='As quinze dezenas mais sorteadas em todos os jogos', figsize=(10,5), fontsize=12, legend=True, color='gray') # # Preparando o dataset para o modelo # Criando dataframe que vamos usar nos modelos df_clean = df index = 0 anterior = '' for concurso in df['Concurso']: if(concurso == anterior): df_clean = df_clean.drop(index) index += 1 anterior = concurso df_clean.shape df_nn = df_clean[['Bola1','Bola2', 'Bola3', 'Bola4', 'Bola5', 'Bola6','Bola7', 'Bola8', 'Bola9', 'Bola10', 'Bola11','Bola12', 'Bola13', 'Bola14', 'Bola15', 'Ganhadores_15_Números']] # Deixando os nomes das coluna em minusculo df_nn.columns = map(str.lower, df_nn.columns) df_nn.head(15) # Pode existir mais de um ganhador por jogo df_nn[df_nn['ganhadores_15_números'] > 1].groupby('ganhadores_15_números')['ganhadores_15_números'].agg('count').plot(kind='bar',figsize=(10,5), color='gray', fontsize=12) # Então tudo jogo que tiver um ou mais ganhadores deixamos como o numeoro 1 df_nn.loc[df_nn['ganhadores_15_números'] > 0, 'ganhadores_15_números'] = 1 df_nn['ganhadores_15_números'].value_counts().plot(kind='bar', figsize=(10,5), color='gray', fontsize=12) print(df_nn['ganhadores_15_números'].value_counts()) from keras.models import Sequential from keras.layers import Dense from sklearn.model_selection import train_test_split # Definição do seed para a reproducidade do modelo np.random.seed(8) # Separando target e classes features = df_nn.iloc[:,0:15] target = df_nn.iloc[:,15] # Dividindo dataset entre treino e teste X_train, X_test, y_train, y_test = train_test_split(target, features, test_size=0.33, random_state=8) # Criando modelo modelo = Sequential() modelo.add(Dense(10, input_dim=15, activation='relu')) modelo.add(Dense(12, activation='relu')) modelo.add(Dense(1, activation='sigmoid')) # Compilando o modelo modelo.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Treinando modelo modelo.fit(y_train, X_train, epochs=1800, batch_size=10) # # Validando Modelo # Avaliando modelo scores = modelo.evaluate(y_test, X_test) print("\n") print("Acuracia do modelo") print("\n%s: %2f%%" % (modelo.metrics_names[1], scores[1]*100)) numero_sorteio = [[1, 2, 3, 5, 7, 8, 10, 11, 12, 14, 15, 17, 21, 22, 24]] y_predict = pd.DataFrame(numero_sorteio) y_predict predict_class = modelo.predict_classes(y_predict) print("1 = Tem chance de ganhar / 0 = Não tem chance de ganhar") print("\n") print("Previsão Modelo: ",predict_class[0][0]) # Achando a probabilidade predict_proba = modelo.predict_proba(y_predict) print("Probabilidade: ", round((predict_proba[0][0]*100),2), "%") import random random.seed(25) probabilidade_boa = 99 probabilidade_atual = 0 # Gerando list com as dezenas sorteadas dezenas_sorteadas = df_nn[['bola1','bola2','bola3','bola4','bola5','bola6','bola7','bola8','bola9','bola10','bola11','bola12','bola13','bola14','bola15']].values.tolist() # Gera sequencia de numeros até que a probabilidade seja maior ou igual que 99% while(probabilidade_atual < probabilidade_boa): # Gera sequencia de número dezenas = random.sample(range(1, 25), 15) # Numero gerado já foi sorteado? if not dezenas in dezenas_sorteadas: # Valida qual a probabilidade da seguência ser sorteada probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([dezenas]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(dezenas))) # Gera sequencia de número dezenas_random = random.sample(range(1, 25), 15) # Numero gerado já foi sorteado? if not dezenas_random in dezenas_sorteadas: # Valida qual a probabilidade da seguência ser sorteada probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([dezenas_random]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(dezenas_random))) ## Isso é verdade? num_bolas = 10 concurso = [] counts = [] anterior = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] for index, row in df_nn.iterrows(): concurso = [] concurso.append(row['bola1']) concurso.append(row['bola2']) concurso.append(row['bola3']) concurso.append(row['bola4']) concurso.append(row['bola5']) concurso.append(row['bola6']) concurso.append(row['bola7']) concurso.append(row['bola8']) concurso.append(row['bola9']) concurso.append(row['bola10']) concurso.append(row['bola11']) concurso.append(row['bola12']) concurso.append(row['bola13']) concurso.append(row['bola14']) concurso.append(row['bola15']) count = 0 for x in range(15): if(np.count_nonzero(concurso==anterior[x]) > 0): count += 1 if(count == num_bolas): counts.append(count) anterior = concurso print('Probabilidade de repetir {0:d} números do jogo anterior: {1:.2f}%'.format(num_bolas,(len(counts)/df_nn.shape[0])*100)) print('{} vezes que {} números se repetiram no próximo jogo, em um total de {} jogos'.format(len(counts), num_bolas, df_nn.shape[0])) ultimo_sorteio = sorted(anterior) jogos = 10 for x in range(jogos): indexes = random.sample(range(0, 15), 10) valores = [ ultimo_sorteio[i] for i in indexes ] final = valores indexes = random.sample(range(0, 15), 15) for index in indexes: if not dezenas[index] in valores and not dezenas[index] in ultimo_sorteio: final.append(dezenas[index]) if(len(final) == 15): break if len(final) < 15: print('Não completou') break if final in dezenas_sorteadas: print('Já sorteado') else: probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([final]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(final))) Sucesso sempre! Quote Link to comment Share on other sites More sharing options...
meloluan Posted December 5, 2019 Author Share Posted December 5, 2019 Pessoal, coloquei um pequeno tutorial para os usuários do Windows lá no repositório. https://github.com/meloluan/Estudo_Lotofacil 1 Quote Link to comment Share on other sites More sharing options...
alecsass Posted December 6, 2019 Share Posted December 6, 2019 (edited) ULTIMO SORTEIO - 1899 02 03 04 05 08 09 11 13 14 17 18 19 20 22 23 10 01 02 03 04 05 09 10 12 14 17 18 20 21 22 23 10 01 02 03 04 05 09 10 11 12 14 16 18 19 21 22 10 01 02 03 04 08 10 12 13 16 17 18 20 21 22 23 08 01 02 03 04 05 06 08 09 12 16 17 19 20 21 23 10 01 02 03 04 06 10 13 16 17 18 19 20 21 22 23 10 01 02 03 04 05 08 09 10 16 17 18 19 20 21 23 11 01 03 04 09 10 11 13 14 16 17 19 20 21 22 23 11 01 02 03 04 10 12 14 16 17 18 19 20 21 22 23 10 01 02 04 05 06 08 09 10 11 13 14 17 18 19 22 10 1900 ??? 02 03 04 05 06 08 10 11 12 14 16 17 19 21 22 02 03 04 06 08 10 11 12 13 14 16 17 18 20 21 01 02 04 08 09 11 13 14 16 17 18 19 20 21 23 01 02 03 09 10 11 12 14 17 18 19 20 21 22 23 01 03 04 05 08 09 10 11 12 13 16 17 18 19 22 01 02 03 04 05 06 09 11 12 14 18 19 20 21 23 01 03 04 05 08 10 11 13 16 17 18 19 20 21 22 01 02 04 05 06 10 11 13 16 17 18 19 20 22 23 01 03 04 05 06 09 11 12 14 16 17 18 19 20 21 01 02 04 05 08 09 10 11 13 14 17 18 19 22 23 Edited December 6, 2019 by alecsass Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 6, 2019 Share Posted December 6, 2019 14 horas atrás, Marco Silva disse: Pessoal, boa tarde. Segue o codigo descompilado. Lembrando que tem que baixar todas as bibliotecas necessarias Ocultar conteúdo import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import missingno as msno import requests import zipfile from bs4 import BeautifulSoup import lxml #get_ipython().run_line_magic('matplotlib', 'inline') #pd.set_option('display.max_columns',500) url = 'http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_lotfac.zip' target_path = 'D_lotfac.zip' response = requests.get(url, stream=True) handle = open(target_path, "wb") for chunk in response.iter_content(chunk_size=512): if chunk: # filter out keep-alive new chunks handle.write(chunk) handle.close() with zipfile.ZipFile(target_path) as zf: zf.extractall() fileHtml = 'd_lotfac.htm' f = open(fileHtml, 'r', encoding='latin-1') table=f.read() soup = BeautifulSoup(table, 'html.parser') table = soup.find(name='table') table_str = str(table) df = pd.read_html(table_str)[0] df.shape df.dtypes df['data_sorteio_conv'] = df.iloc[:,1] df.data_sorteio_conv = pd.to_datetime(df.data_sorteio_conv) df['day'] = df.data_sorteio_conv.dt.day df['month'] = df.data_sorteio_conv.dt.month df['year'] = df.data_sorteio_conv.dt.year df_ganhadores = df[:] df_ganhadores.head() # Visão geral do dataframe msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Removendo valores nulos df = df.dropna(subset=['Concurso']) msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Removendo colunas Cidade e UF df = df.drop(['Cidade', 'UF'], axis=1) msno.matrix(df=df.iloc[:,0:df.shape[1]], figsize=(20, 5), color=(0.42, 0.1, 0.05)) # Ganhadores X Volume do Prêmio por Estado ax = df_ganhadores.groupby(['UF'])['Ganhadores_13_Números'].agg('sum').sort_values(ascending=False).plot(kind='bar', title='Ganhadores por Estado', figsize=(15,5), fontsize=12, legend=True, position=1, color='gray') # df_ganhadores.groupby(['UF'])['Rateio_Sena'].agg('sum').sort_values(ascending=False).plot(kind='bar', ax=ax, secondary_y=True, legend=True, position=0, color='blue') # Ganhadores X Mes # Ganhadores X Volume do Prêmio por Estado df_ganhadores.groupby(['month'])['Ganhadores_15_Números'].agg('sum').plot(kind='bar', title='Ganhadores X Mês', fontsize=12, figsize=(15,5), legend=True, color='gray') # ### Analisando dezenas sorteadas # Verificando se alguma vez as dezenas se repetiram na mesma ordem df.groupby(['Bola1','Bola2', 'Bola3', 'Bola4', 'Bola5', 'Bola6','Bola7', 'Bola8', 'Bola9', 'Bola10', 'Bola11','Bola12', 'Bola13', 'Bola14', 'Bola15']).size().sort_values(ascending=False) # As dezenas mais sorteadas em todos os jogos dezenas = pd.DataFrame(df['Bola1'].tolist() + df['Bola2'].tolist() + df['Bola3'].tolist() + df['Bola4'].tolist() + df['Bola5'].tolist() + df['Bola6'].tolist() +df['Bola7'].tolist() + df['Bola8'].tolist() + df['Bola9'].tolist() + df['Bola10'].tolist() + df['Bola11'].tolist() + df['Bola12'].tolist() + df['Bola13'].tolist() + df['Bola14'].tolist() + df['Bola15'].tolist(), columns=['numeros']) dezenas['numeros'].value_counts().sort_values(ascending=True).head(15).plot(kind='barh', title='As quinze dezenas mais sorteadas em todos os jogos', figsize=(10,5), fontsize=12, legend=True, color='gray') # # Preparando o dataset para o modelo # Criando dataframe que vamos usar nos modelos df_clean = df index = 0 anterior = '' for concurso in df['Concurso']: if(concurso == anterior): df_clean = df_clean.drop(index) index += 1 anterior = concurso df_clean.shape df_nn = df_clean[['Bola1','Bola2', 'Bola3', 'Bola4', 'Bola5', 'Bola6','Bola7', 'Bola8', 'Bola9', 'Bola10', 'Bola11','Bola12', 'Bola13', 'Bola14', 'Bola15', 'Ganhadores_15_Números']] # Deixando os nomes das coluna em minusculo df_nn.columns = map(str.lower, df_nn.columns) df_nn.head(15) # Pode existir mais de um ganhador por jogo df_nn[df_nn['ganhadores_15_números'] > 1].groupby('ganhadores_15_números')['ganhadores_15_números'].agg('count').plot(kind='bar',figsize=(10,5), color='gray', fontsize=12) # Então tudo jogo que tiver um ou mais ganhadores deixamos como o numeoro 1 df_nn.loc[df_nn['ganhadores_15_números'] > 0, 'ganhadores_15_números'] = 1 df_nn['ganhadores_15_números'].value_counts().plot(kind='bar', figsize=(10,5), color='gray', fontsize=12) print(df_nn['ganhadores_15_números'].value_counts()) from keras.models import Sequential from keras.layers import Dense from sklearn.model_selection import train_test_split # Definição do seed para a reproducidade do modelo np.random.seed(8) # Separando target e classes features = df_nn.iloc[:,0:15] target = df_nn.iloc[:,15] # Dividindo dataset entre treino e teste X_train, X_test, y_train, y_test = train_test_split(target, features, test_size=0.33, random_state=8) # Criando modelo modelo = Sequential() modelo.add(Dense(10, input_dim=15, activation='relu')) modelo.add(Dense(12, activation='relu')) modelo.add(Dense(1, activation='sigmoid')) # Compilando o modelo modelo.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Treinando modelo modelo.fit(y_train, X_train, epochs=1800, batch_size=10) # # Validando Modelo # Avaliando modelo scores = modelo.evaluate(y_test, X_test) print("\n") print("Acuracia do modelo") print("\n%s: %2f%%" % (modelo.metrics_names[1], scores[1]*100)) numero_sorteio = [[1, 2, 3, 5, 7, 8, 10, 11, 12, 14, 15, 17, 21, 22, 24]] y_predict = pd.DataFrame(numero_sorteio) y_predict predict_class = modelo.predict_classes(y_predict) print("1 = Tem chance de ganhar / 0 = Não tem chance de ganhar") print("\n") print("Previsão Modelo: ",predict_class[0][0]) # Achando a probabilidade predict_proba = modelo.predict_proba(y_predict) print("Probabilidade: ", round((predict_proba[0][0]*100),2), "%") import random random.seed(25) probabilidade_boa = 99 probabilidade_atual = 0 # Gerando list com as dezenas sorteadas dezenas_sorteadas = df_nn[['bola1','bola2','bola3','bola4','bola5','bola6','bola7','bola8','bola9','bola10','bola11','bola12','bola13','bola14','bola15']].values.tolist() # Gera sequencia de numeros até que a probabilidade seja maior ou igual que 99% while(probabilidade_atual < probabilidade_boa): # Gera sequencia de número dezenas = random.sample(range(1, 25), 15) # Numero gerado já foi sorteado? if not dezenas in dezenas_sorteadas: # Valida qual a probabilidade da seguência ser sorteada probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([dezenas]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(dezenas))) # Gera sequencia de número dezenas_random = random.sample(range(1, 25), 15) # Numero gerado já foi sorteado? if not dezenas_random in dezenas_sorteadas: # Valida qual a probabilidade da seguência ser sorteada probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([dezenas_random]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(dezenas_random))) ## Isso é verdade? num_bolas = 10 concurso = [] counts = [] anterior = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] for index, row in df_nn.iterrows(): concurso = [] concurso.append(row['bola1']) concurso.append(row['bola2']) concurso.append(row['bola3']) concurso.append(row['bola4']) concurso.append(row['bola5']) concurso.append(row['bola6']) concurso.append(row['bola7']) concurso.append(row['bola8']) concurso.append(row['bola9']) concurso.append(row['bola10']) concurso.append(row['bola11']) concurso.append(row['bola12']) concurso.append(row['bola13']) concurso.append(row['bola14']) concurso.append(row['bola15']) count = 0 for x in range(15): if(np.count_nonzero(concurso==anterior[x]) > 0): count += 1 if(count == num_bolas): counts.append(count) anterior = concurso print('Probabilidade de repetir {0:d} números do jogo anterior: {1:.2f}%'.format(num_bolas,(len(counts)/df_nn.shape[0])*100)) print('{} vezes que {} números se repetiram no próximo jogo, em um total de {} jogos'.format(len(counts), num_bolas, df_nn.shape[0])) ultimo_sorteio = sorted(anterior) jogos = 10 for x in range(jogos): indexes = random.sample(range(0, 15), 10) valores = [ ultimo_sorteio[i] for i in indexes ] final = valores indexes = random.sample(range(0, 15), 15) for index in indexes: if not dezenas[index] in valores and not dezenas[index] in ultimo_sorteio: final.append(dezenas[index]) if(len(final) == 15): break if len(final) < 15: print('Não completou') break if final in dezenas_sorteadas: print('Já sorteado') else: probabilidade_atual = int(modelo.predict_proba(pd.DataFrame([final]))[0][0]*100) print("Probabilidade de {0} % -> Dezenas: {1}".format(probabilidade_atual, sorted(final))) Sucesso sempre! Rodou assim sem erros? Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 6, 2019 Share Posted December 6, 2019 15 horas atrás, meloluan disse: Pessoal, coloquei um pequeno tutorial para os usuários do Windows lá no repositório. https://github.com/meloluan/Estudo_Lotofacil Seguindo tuto e adaptando no linux, consegui rodar sem erros. 1 Quote Link to comment Share on other sites More sharing options...
meloluan Posted December 6, 2019 Author Share Posted December 6, 2019 14 minutos atrás, Nanilinho disse: Seguindo tuto e adaptando no linux, consegui rodar sem erros. Boa @Nanilinho ! Bom saber que usa linux, também uso e tive que adaptar um tutorial para o Windows, que acredito ser o sistema operacional que a galera usa. Tem como você contribuir no projeto fazendo o tutorial para Linux, aí ficaria mais completo. Quote Link to comment Share on other sites More sharing options...
Nanilinho Posted December 6, 2019 Share Posted December 6, 2019 19 minutos atrás, meloluan disse: Boa @Nanilinho ! Bom saber que usa linux, também uso e tive que adaptar um tutorial para o Windows, que acredito ser o sistema operacional que a galera usa. Tem como você contribuir no projeto fazendo o tutorial para Linux, aí ficaria mais completo. UM erro ainda persiste Quote Link to comment Share on other sites More sharing options...
fabiuz Posted December 6, 2019 Share Posted December 6, 2019 Também tenho um programa pra lotofacil, usando freepascal. Depois, irei estudar o codigo em python, ja entendi boa parte de como funciona. Quote Link to comment Share on other sites More sharing options...
meloluan Posted December 6, 2019 Author Share Posted December 6, 2019 24 minutos atrás, Nanilinho disse: UM erro ainda persiste @Nanilinho você tem que rodar todos os snippets primeiro. O random está em outra parte e ele precisa ser carregado na memória: Citar import random 1 Quote Link to comment Share on other sites More sharing options...
FF882007 Posted December 6, 2019 Share Posted December 6, 2019 Agora funcionando.... 2 Quote Link to comment Share on other sites More sharing options...
Julio Cezar Posted December 6, 2019 Share Posted December 6, 2019 Pytomba, valeu. Boa sorte Quote Link to comment Share on other sites More sharing options...
FF882007 Posted December 6, 2019 Share Posted December 6, 2019 Em 03/12/2019 em 09:51, meloluan disse: Segue o repositório com o código-fonte em Python dos meus estudos. Caso tenham dificuldade para utilizar, eu posso ajudar por aqui. No sorteio 1898 fiz 12 jogos e 3 retornaram 12 pontos. https://github.com/meloluan/Estudo_Lotofacil @meloluan Boa Tarde, se fosse para abrir um arquivo texto, em vez de baixar e descompactar, como ficaria In[1] e In[2] ? estava lendo uma matéria sobre "machine learning" e gostaria de fazer alguns testes, não manjo nada de python, poderia me ajudar? Obrigado Quote Link to comment Share on other sites More sharing options...
meloluan Posted December 7, 2019 Author Share Posted December 7, 2019 Estou refazendo umas coisas pra melhorar a predição e aquela probabilidade que apresenta ali. No concurso 1900 não consegui nenhum prêmio. Quote Link to comment Share on other sites More sharing options...
Julio Cezar Posted December 7, 2019 Share Posted December 7, 2019 26 minutos atrás, meloluan disse: melhorar a predição Luan, caso consiga predição de 4 acertos e não mais em 11D já será o maior feito até aqui que conheço, não estou dizendo que não existe, só não conheço. Tivesse eu e aplicaria um FF88 e seria só felicidade. Para não dizer que falei das flores e escondi o jardim spoiler Spoiler Quote Link to comment Share on other sites More sharing options...
FF882007 Posted December 7, 2019 Share Posted December 7, 2019 33 minutos atrás, Julio Cezar disse: Luan, caso consiga predição de 4 acertos e não mais em 11D já será o maior feito até aqui que conheço, não estou dizendo que não existe, só não conheço. Tivesse eu e aplicaria um FF88 e seria só felicidade. Para não dizer que falei das flores e escondi o jardim spoiler Mostrar conteúdo oculto Ave Cezar estamos chegando lá... Logo logo veremos esse jardim florecer... Técnica e Investimento, Sempre!! Quote Link to comment Share on other sites More sharing options...
PARAFUSO Posted December 7, 2019 Share Posted December 7, 2019 17 horas atrás, FF882007 disse: Agora funcionando.... ....maximo 10 pontos no 1900, vou dfar uma sujestão para testes, suponhamos q os dados base estivessem todos errados e não correspondessem a estatistica real , nesse caso a rede se baseia no erro e seus prognosticos copiam o erro baseado nas estatisticas do amostral, a minha sujestão é colocar um outro tipo de resultado pra forçar a rede a dar um valor correto ou perto disso um bom exemplo seria pegar o ultimo resultado e desdobrar em 20 /30 ou mais linhas de 10 fazer os espelhos de 15 e jogar na rede como se fosse o sorteio real dai se pega um amostral de 100 ultimos sorteios reais e se adiciona os desdobrados do ultimo concurso pra rede cruzar e dar os palpites "errados" q podem ser os certos, capite ? Quote Link to comment Share on other sites More sharing options...
FF882007 Posted December 7, 2019 Share Posted December 7, 2019 2 minutos atrás, PARAFUSO disse: ....maximo 10 pontos no 1900, vou dfar uma sujestão para testes, suponhamos q os dados base estivessem todos errados e não correspondessem a estatistica real , nesse caso a rede se baseia no erro e seus prognosticos copiam o erro baseado nas estatisticas do amostral, a minha sujestão é colocar um outro tipo de resultado pra forçar a rede a dar um valor correto ou perto disso um bom exemplo seria pegar o ultimo resultado e desdobrar em 20 /30 ou mais linhas de 10 fazer os espelhos de 15 e jogar na rede como se fosse o sorteio real dai se pega um amostral de 100 ultimos sorteios reais e se adiciona os desdobrados do ultimo concurso pra rede cruzar e dar os palpites "errados" q podem ser os certos, capite ? Bem pensado, se verificar uns posts acima verá que pedi ao @meloluan me ajudar a buscar os dados em um arquivo texto no lugar de baixar os resultados, objetivando fazer o que propôs. Técinica e Investimento, Sempre!! Quote Link to comment Share on other sites More sharing options...
PARAFUSO Posted December 7, 2019 Share Posted December 7, 2019 2 minutos atrás, FF882007 disse: Bem pensado, se verificar uns posts acima verá que pedi ao @meloluan me ajudar a buscar os dados em um arquivo texto no lugar de baixar os resultados, objetivando fazer o que propôs. Técinica e Investimento, Sempre!! a anos venho usando um programa e os resultados reais dos sorteios não funcionam, os palpites gerados beiram a margem dos 60% como qualquer palpite feito a olho no entanto confundindo o programa ja chegou a acertar 12/13 pontos em 5 palpites, apenas em testes , acredito q os resultados reais dos sorteios não funcionam se precisa de outro parametro Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.