CarlosWGama icon

RN - Regressão

CarlosWGama | PRO | 02/09/20 12:34:58 AM UTC | 0 ⭐ | 792 👁️ | Never ⏰ | []
Python |

1.31 KB

|

None

|

0 👍

/

0 👎

import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.compose import ColumnTransformer
from keras.models import Sequential
from keras.layers import Dense, Dropout
 
#Busca
csv = pd.read_csv('dados.csv', sep=';')
 
#Remove colunas desnecessárias
csv = csv.drop(columns=['Número comentários', 'Compartilhamento'])
 
#Trata
le = LabelEncoder()
csv['Tipo'] = le.fit_transform(csv['Tipo']) #Foto = 0|Link = 1|Status = 2|Video = 3
dados = csv.values
 
#Separa em Atributos e Classificadores
atributos = dados[:,:5]
classificadores = dados[:,5]
 
#Ajusta atributos de classificação não binária
ct = ColumnTransformer([('binario', OneHotEncoder(), [0, 1])], remainder='passthrough')
atributos = ct.fit_transform(atributos).toarray()
 
#Modelo
modelo = Sequential()
modelo.add(Dense(units=10, activation='relu'))
modelo.add(Dense(units=1, activation='linear'))
modelo.compile(loss = 'mean_absolute_error', optimizer = 'adam',
                  metrics = ['mean_absolute_error'])
 
modelo.fit(atributos, classificadores, batch_size=50, epochs=1000)
 
#Predizendo
#Tipo, Mes, Dia da Semana, Hora, Paga
novo = np.array([
    [0, 1, 7, 21, 1]
])
novo = ct.transform(novo).toarray()
 
retorno = modelo.predict(novo)
print('Média: ', int(retorno[0]))

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎