[Python] IA - Machine learning - Keras [fechada]

Discussão em 'Python' iniciado por Stack, Setembro 10, 2024.

  1. Stack

    Stack Membro Participativo

    Como faço pra criar uma nova predição de novos valores e saber o quão assertivivo ele será.

    Eu tenho minhas colunas de testes: train_1, train_2, train_3, train_4 representadas por numeros binarios 0 e 1. sendo 0 negativo e 1 positivo.essas são as colunas preditoras. Ai tenho uma coluna chamada Resultado_Cor que esta sim é o resultado "sim - 1" e "não - 0" ou seja dado um conjunto: nas tres colunas preditoras (train_1=1, train_2 = 0, train_3 = 1 e train_4 =4) eu quero que a IA seja capaz de após o treino seja capar de me dizer qual a probabilidade maior entre 0 e 1 do campo Resultado_Cor.

    inserir a descrição da imagem aqui

    import keras
    import pandas as pd
    import warnings

    sheet_id = '1CfnVwuqysTYNPKLVhgjJ44Af8VDcdN1l'
    dados = pd.read_excel(f'https://docs.google.com/spreadsheets/export?id={sheet_id}&format=xlsx')


    dados.head()


    # Dados para realizar o aprendizado e ver quanto vai prever corretamente
    x = dados[['train_1','train_2','train_3','train_4']]

    # Gabarito ou resultados ja corretos
    y = dados[['Resultado_Cor']]

    from keras.models import Sequential
    from keras.layers import Dense
    import tensorflow as tf

    warnings.filterwarnings('ignore')

    # Efetuo a separação dos treinos de x e y e testes de x e y
    treino_x, teste_x, treino_y, teste_y = train_test_split(x,y)

    # normalize
    # treino_x = tf.keras.utils.normalize(treino_x, axis=1)
    # teste_x = tf.keras.utils.normalize(teste_x, axis=1)

    # Criando a arquitetura da rede neural:
    modelo = Sequential()
    # Tamanho da rede neural 'units', função de ativação 'relu' e tamanho das colunas 7 preditoras
    modelo.add(tf.keras.layers.Flatten())
    modelo.add(Dense(128,activation=tf.nn.relu))
    modelo.add(Dense(128,activation=tf.nn.relu))
    modelo.add(Dense(10,activation=tf.nn.softmax))

    # Treinando a rede neural:
    modelo.compile(optimizer='adam',
    loss='sparse_categorical_crossentropy',
    metrics=['accuracy'])

    resultado = modelo.fit(treino_x, treino_y, epochs=200)

    model_predict = [0,1,0,1]
    model_predict = treino_x[:1]

    result = treino_y[:1]


    predicao = modelo.predict(np.array(model_predict)>0)
    print(predicao)

    Continue reading...

Compartilhe esta Página