Classification based on explanatory variables being within ranges? I'm trying to build a classification model where observations are classified based not on some linear combination of their explanatory variables, but instead based on whether the variables are all within some (unknown) ranges. So, for example, if I had two independent variables, and my observations (independent, followed by dependent variables) are:


*

*(0, 5): 0

*(2, 7): 1

*(3, 2): 0

*(4, 4): 1

*(3, 9): 0

*(6, 6): 0


then perhaps the model would learn that the dependent variable is 1 iff the first independent variable is between 1 and 5, and the second independent variable is between 3 and 8. (I only want "and"s in the model; I'm not looking for any cases where variable 1 is between a and b OR variable 2 is between c and d.) In essence, the model should find some hyperrectangle in the independent variables with all edges parallel to the axes, where 0s are expected to be outside the rectangle and 1s are expected to be inside it. (In the example data, the data points are separable; this is not the case in my real problem. In the spirit of an SVM or logistic regression, the model should do the best it can.)
My first stab at this involved trying to do least-squares regression with a hypothesis function made up of two sigmoids for each independent variable (one "forward", one "backward"), parameterized to slide back and forth, all of which were multiplied together. Maybe my scipy-fu is weak, but above four variables, I started having convergence issues with that approach. Is there some tried-and-true way to solve this kind of classification problem? (Even just a name for this kind of problem would be helpful!)
[This is a blatant cross-post from Data Science, after that post didn't get much engagement; if this behavior is frowned upon here, I'll delete.]
 A: Neat problem! 
It seems sufficient to use logistic regression with quadratic terms. If your features are $(x_1, x_2)$, then the modified features are $(x_1, x_2, x_1^2, x_2^2)$. This is because quadratics have 2 shapes: convex and concave. When using a linear model, a convex shape fits your data when the positives occur at the extremes; a concave shape fits your data when the positives occur "in the middle" (because this is when the value of the quadratic is largest). If you're certain that the positives must occur "in the middle" of the range, then you'll want to restrict the coefficients of the square terms to be negative, because these are concave quadratics.
The resulting decision surface won't be a rectangle, though. Instead, it will be $$[1 ~x_1 ~ x_2 ~ x_1^2 ~ x_2^2] \beta  > \text{logit}^{-1}(c)$$ where $\beta$ is your parameter vector and $c\in(0,1)$ is whatever threshold is best for your problem. I don't feel that this is any great loss, though, since the model will still reflect the core idea of what you want.
[Previously, I answered this question as if it were completely deterministic but I see now that OP stated that this is not a separable problem, so that answer is irrelevant. See the edit history for more information.]
A: Have you considered decision tree-based solutions? Since your variables are of numeric type, the trees would be able to choose the 'splits' to reflect the ranges specified (but consider allowing the tree to grow further than a depth of two for that 'AND' logic to be reflected in the splitting rules).
Tree based models should also be able to provide a hyper-rectangle as a decision boundary, with perimeter parallel to the axes. You can also explore ensemble models of decision trees, but a single decision tree could be visualized nicely to allow you to see where the tree is splitting the variables and how the variables interact with each other.
