title: "Perfect separation" error when using Matcher from pymatch (Propensity score matching)
body: <p>I am trying to use the <a href="https://medium.com/@bmiroglio/introducing-the-pymatch-package-6a8c020e2009" rel="nofollow noreferrer">pymatch</a> package but I keep getting the error <code>Error: Perfect separation detected, results not available</code>. I checked multiple times, my dataset is not equal. It contains 260k rows for Control and 50k for treatment and has different averages. I only have 5 variables, all <code>integers</code> or <code>Floats</code> rounded to 2 decimals.</p>
  
  <p>My goal is to match some treated customers to non-treated customers for further analysis based on propensity score matching.</p>
  
  <p>I already removed outliers as apparently it cannot handle these well. I also rounded Decimals to 2 positions after the comma. I tried using only 2 variables of the whole dataset. Nothing worked.</p>
  
  <pre class="lang-py prettyprint-override"><code>d = {'Customer': ['A','B','C','D'], 'Basket_Size': [30, 40,25,30], 'Miles_away': [5.2, 15.4,16.3,7.2], 'was_treated': [1, 0,0,1]}
  df = pd.DataFrame(data=d)
  df
  
  test = df[df.was_treated== 1]
  control = df[df.was_treated== 0]
  
  m = Matcher(test, control, yvar="was_treated", exclude=['Customer'])
  ## until here it runs perfectly fine
  
  # output:
  
  #Formula:
  #was_treated~ Basket_Size+Miles_away
  #n majority: 2
  #n minority: 2
  
  
  ## this now throws the error
  np.random.seed(20170925)
  m.fit_scores(balance=True, nmodels=20)
  
  # output: 
  # Error: Perfect separation detected, results not available
  # Fitting Models on Balanced Samples: 1\20
  </code></pre>
  
  <p>I expect an output like <code>Average Accuracy: 78%</code> but I get <code>Average Accuracy: nan%</code>  and the error <code>Error: Perfect separation detected, results not available</code></p>