text: Title: Bug: RegressionRandomIndexComponent not robust
  Body: I have just managed to kill the whole dashboard because of an error with RegressionRandomIndexComponent, i.e. everything works fine without this component, but enabling it yields to the dashboard only displaying "Error loading layout.". The traceback is below.
  
  I fixed it by appending ".astype('float')" to the data which goes into RegressionExplainer.
  
  ```
  Exception on /_dash-layout [GET]
  Traceback (most recent call last):
    File "c:\...\lib\site-packages\flask\app.py", line 2447, in wsgi_app
      response = self.full_dispatch_request()
    File "c:\...\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
      rv = self.handle_user_exception(e)
    File "c:\...\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
      reraise(exc_type, exc_value, tb)
    File "c:\...\lib\site-packages\flask\_compat.py", line 39, in reraise
      raise value
    File "c:\...\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
      rv = self.dispatch_request()
    File "c:\...\lib\site-packages\flask\app.py", line 1936, in dispatch_request
      return self.view_functions[rule.endpoint](**req.view_args)
    File "c:\...\lib\site-packages\dash\dash.py", line 531, in serve_layout
      json.dumps(layout, cls=plotly.utils.PlotlyJSONEncoder),
    File "C:\lib\json\__init__.py", line 238, in dumps
      **kw).encode(obj)
    File "c:\...\lib\site-packages\_plotly_utils\utils.py", line 45, in encode
      encoded_o = super(PlotlyJSONEncoder, self).encode(o)
    File "C:\lib\json\encoder.py", line 199, in encode
      chunks = self.iterencode(o, _one_shot=True)
    File "C:\lib\json\encoder.py", line 257, in iterencode
      return _iterencode(o, 0)
  TypeError: keys must be str, int, float, bool or None, not numpy.int64
  ```
  
  (this shows multiple times)