Generalization Bound and Learning Methods for Data-Driven Projections in Linear Programming