title: Random Forest Classifier ValueError: Input contains NaN, infinity or a value too large for dtype('float32')
body: <p>I'm trying to apply the <code>RandomForest</code> method to a dataset and I get this error:</p>
  
  <pre><code>ValueError: Input contains NaN, infinity or a value too large for dtype ('float32')
  </code></pre>
  
  <p>Could someone tell me what I can modify in the function for the code to work:</p>
  
  <pre><code>def ranks_RF(x_train, y_train, features_train, RESULT_PATH='Results'):
      """Get ranks from Random Forest"""
  
      print("\nMétodo_Random_Forest")
  
      random_forest = RandomForestRegressor(n_estimators=10)
      np.nan_to_num(x_train)
      np.nan_to_num(y_train)
      random_forest.fit(x_train, y_train)
  
      # Get rank by doing two times a sort.
      imp_array = np.array(random_forest.feature_importances_)
      imp_order = imp_array.argsort()
      ranks = imp_order.argsort()
  
      # Plot Random Forest
      imp = pd.Series(random_forest.feature_importances_, index=x_train.columns)
      imp = imp.sort_values()
  
      imp.plot(kind="barh")
      plt.xlabel("Importance")
      plt.ylabel("Features")
      plt.title("Feature importance using Random Forest")
      # plt.show()
      plt.savefig(RESULT_PATH + '/ranks_RF.png', bbox_inches='tight')
  
      return ranks
  </code></pre>