Skip to content

maka89/dax_neuralnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

dax_neuralnet

Generates code for neural network measures in DAX for a pre-trained neural network. Currently support only for standard MLPs.

The neural network is represented as a list of layers. Each layer is a dict with members:

  • "W": Weights. Numpy 2d array
  • "b": biases. Numpy 2d array (First dim always 1)
  • "activation": string representing activation function. Default is linear. "relu","tanh" or "sigmoid"

Each layers outputs are calculated as a_(i) = act_fn ( dot( a_(i-1) , W) + b)

Example

Let's define the names of the input measures in DAX, and define a neural network with 4 hidden relu units:

import numpy as np
from nn_dax import NNDAX

#Name of your input measures in power bi
input_features=["[x1]","[x2]","[x3]"]

#Change this with your own NN
layers=[]
layers.append({"W":np.random.randn(len(input_features),n_hidden), "b":np.random.randn(1,4),"activation":"relu"})
layers.append({"W":np.random.randn(4,1), "b":np.random.randn(1,1),"activation":""})

Let's create a NNDAX object and generate code:

nnd=NNDAX(input_features,layers)

#Generate dax code
print(nnd.generate_dax())

Additionally, you can run a sample (or several) through the network to confirm that you get similar outputs in python and Power BI:

x_test=np.array([[1,2,3]])
print( "TEST")
print( "input=[1,2,3]:")
print( "output=" + str(nnd.calculate(x_test)))

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages