title: combining matching and classification
body: <p>I am working on a matching problem between an exposed and control group. I had an idea about using binary classification to solve it. I would assign all observations in the exposed to one class and create the other class artificially.  For example,</p>
  
  <p>Suppose I have an exposed group of 1,000 people and a control group of 4,000. There are 25 binary profiles</p>
  
  <p>Gender, Age (18 to 34), Age (34 to 55), Age (over 55),  income (less than 50,000), income (50,00, 100,000), income (greater than 100,000) outdoor enthusiast, video game player, fast food diner, cost conscious shopper, …, pet enthusiast</p>
  
  <p>Suppose all of the exposed are  Male, age 18-24, video-game players, and fast food diners, and vary in the remaining 21 categories.</p>
  
  <p>Let  a1, a2,…, a1,000 be my exposed group, so I would put all of my exposed group 
  a1, a2,…,a1,000 in one class and for the remaining class I would take the opposite binary choice for each expose observation. So if</p>
  
  <p>a1 has the following profile</p>
  
  <pre><code>Gender - Male
  Age (18 to 34) - Yes
  Age (34 to 55) - No
  Age (over 55) - No
  income (less than 50,000) - Yes 
  income (50,00, 100,000) – No
  income (greater than 100,000) - No 
  outdoor enthusiast - No
  video game player - Yes
  fast food diner - Yes
  cost conscious shopper - Yes 
  .
  .
  .
  per enthusiast – No
  </code></pre>
  
  <p>I would then create a new observation for the other class by taking the opposite choice for each category with random selection among the reaming choices for age and income.</p>
  
  <pre><code>Gender - Female
  Age (18 to 34) - No
  Age (34 to 55) - Yes
  Age (over 55) - No
  income (less than 50,000) - No 
  income (50,00, 100,000) – Yes
  income (greater than 100,000) - No 
  outdoor enthusiast - Yes
  video game player - No
  fast food diner - No
  cost conscious shopper - No 
  .
  .
  .
  pet enthusiast – Yes
  </code></pre>
  
  <p>I do this for all 1,000 exposed observations. Then I train a binary classifier on a portion of the this data.</p>
  
  <p>I applied this to my data ( much larger than 1000, close to 1,000,00 exposed) and it resulted in to 100% classification  rate on the my constructed data set and when  I used the predict method, it classified all members in the control to the class of exposed observations (highly unlikely in real life). </p>
  
  <p>My questions  are</p>
  
  <p>1- Does this approach make sense. </p>
  
  <p>2- If it makes sense, why did all the control members get assigned to the exposed class? What is a good method to construct the other class of observations in the training set.</p>
  
  <p>3- If it doesn’t make sense what is a good way to match categorical features? I don’t like the idea of converting them to numeric and using a clustering method. </p>