Find plane within margin of error of >50% of points
One reasonable approach is to use RANSAC. 

Pick three points.  Find the plane that goes through them.  Iterate through all the points and keep the points that are near that plane (the inliers) and discard the rest (the outliers).  If fewer than 50% of the points are inliers, discard this plane.  Otherwise, discard the plane you have so far and use linear regression to find the best plane that fits the inliers as well as possible.  That's a candidate plane.

Repeat this 1000 times, to get 1000 candidate planes.  Take the best one.  You can measure how good a candidate plane is by taking the average distance from the plane to each point, averaged over all the points that are close to that plane (ignore the ones that are far away; if 50% or more are far away, discard the plane).