make members private and add feature_cols

This commit is contained in:
Paul Schaub 2018-05-29 15:46:35 +02:00
parent 6fd2e90bc1
commit fb30c94427
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
2 changed files with 9 additions and 12 deletions

View file

@ -1,3 +1,2 @@
from pywatts import db from pywatts import db
from pywatts import fetchdata from pywatts import fetchdata
from pywatts import neural

View file

@ -2,13 +2,14 @@ import tensorflow as tf
class Net: class Net:
regressor = None __regressor = None
__feature_cols = [tf.feature_column.numeric_column(col) for col in ['dc', 'temp', 'wind']]
def __init__(self, feature_cols): def __init__(self, feature_cols=__feature_cols):
self.regressor = tf.estimator.DNNRegressor(feature_columns=feature_cols, self.__regressor = tf.estimator.DNNRegressor(feature_columns=feature_cols,
hidden_units=[50, 50], hidden_units=[50, 50],
model_dir='tf_pywatts_model') model_dir='tf_pywatts_model')
def pywatts_input_fn(X, y=None, num_epochs=None, shuffle=True, batch_size=400): def pywatts_input_fn(X, y=None, num_epochs=None, shuffle=True, batch_size=400):
return tf.estimator.inputs.pandas_input_fn(x=X, return tf.estimator.inputs.pandas_input_fn(x=X,
@ -18,14 +19,11 @@ class Net:
batch_size=batch_size) batch_size=batch_size)
def train(self, training_data, steps): def train(self, training_data, steps):
self.regressor.train(input_fn=self.pywatts_input_fn(training_data, num_epochs=None, shuffle=True), steps=steps) self.__regressor.train(input_fn=self.pywatts_input_fn(training_data, num_epochs=None, shuffle=True), steps=steps)
def evaluate(self, eval_data): def evaluate(self, eval_data):
self.regressor.evaluate(input_fn=self.pywatts_input_fn(eval_data, num_epochs=1, shuffle=False), steps=1) self.__regressor.evaluate(input_fn=self.pywatts_input_fn(eval_data, num_epochs=1, shuffle=False), steps=1)
def predict1h(self, df): def predict1h(self, df):
df = df.drop(['month', 'day', 'hour']) df = df.drop(['month', 'day', 'hour'])
predictions = self.regressor.predict(input_fn=self.pywatts_input_fn(df, num_epochs=1, shuffle=False)) return self.__regressor.predict(input_fn=self.pywatts_input_fn(df, num_epochs=1, shuffle=False))