.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_examples/shap/plot_main08.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr__examples_shap_plot_main08.py: 08. Basic example ================= .. GENERATED FROM PYTHON SOURCE LINES 6-54 .. rst-class:: sphx-glr-script-out Out: .. code-block:: none "\nSAMPLES_CNT = 1000\n\ntrain_x = np.random.rand(SAMPLES_CNT,5,4)\ntrain_y = np.vectorize(lambda x: int(round(x)))(np.random.rand(SAMPLES_CNT))\n\nval_x = np.random.rand(int(SAMPLES_CNT * 0.1),5,4)\nval_y = np.vectorize(lambda x: int(round(x)))(np.random.rand(int(SAMPLES_CNT * 0.1)))\n\n# Train model\n\nmodel = Sequential()\nmodel.add(LSTM(32,input_shape=train_x.shape[1:], return_sequences=False, stateful=False))\nmodel.add(Dense(1, activation='sigmoid'))\n\nmodel.compile(optimizer=tf.keras.optimizers.Adam(lr=0.001),\n loss='binary_crossentropy',metrics=['accuracy'])\n\nfit = model.fit(train_x, train_y, batch_size=64, epochs=2,\n validation_data=(val_x, val_y), shuffle=False)\n\nexplainer = shap.DeepExplainer(model, train_x[:10])\nshap_vals = explainer.shap_values(val_x[:10][:, 0, :])\n" | .. code-block:: default :lineno-start: 7 import numpy as np import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, BatchNormalization, LSTM import shap # Create random training values. # # train_x is [ # [ # [0.3, 0.54 ... 0.8], # [0.4, 0.6 ... 0.55], # ... # ], # [ # [0.3, 0.54 ... 0.8], # [0.4, 0.6 ... 0.55], # ... # ], # ... # ] # # train_y is corresponding classification of train_x sequences, always 0 or 1 # [0, 1, 0, 1, 0, ... 0] """ SAMPLES_CNT = 1000 train_x = np.random.rand(SAMPLES_CNT,5,4) train_y = np.vectorize(lambda x: int(round(x)))(np.random.rand(SAMPLES_CNT)) val_x = np.random.rand(int(SAMPLES_CNT * 0.1),5,4) val_y = np.vectorize(lambda x: int(round(x)))(np.random.rand(int(SAMPLES_CNT * 0.1))) # Train model model = Sequential() model.add(LSTM(32,input_shape=train_x.shape[1:], return_sequences=False, stateful=False)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer=tf.keras.optimizers.Adam(lr=0.001), loss='binary_crossentropy',metrics=['accuracy']) fit = model.fit(train_x, train_y, batch_size=64, epochs=2, validation_data=(val_x, val_y), shuffle=False) explainer = shap.DeepExplainer(model, train_x[:10]) shap_vals = explainer.shap_values(val_x[:10][:, 0, :]) """ .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.001 seconds) .. _sphx_glr_download__examples_shap_plot_main08.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_main08.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_main08.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_