你不能。
如果您想要与任意数据和任意维度完美匹配,至少在一般情况下不会达到您想要的程度。
例如,假设我们有n1=0预测维度(即,根本没有)和n2=2观察分类为n3=2桶。这两个观察被分为两个不同的桶,即“巧克力”和“香草”。
由于您没有任何预测变量,因此您将无法完美地对它们进行分类。
如果您至少有一个预测变量在每个观察值上采用不同的值,那么您确实可以任意过度拟合,只需对数值预测变量使用任意高的多项式阶数(如果预测变量在每个观察值上具有不同的值,则您不需要) t 甚至需要转换)。工具或模型几乎是次要的。是的,很容易过拟合。
这是一个例子。10 个观测值完全独立于单个数值预测变量。我们拟合越来越复杂的逻辑回归或预测变量的幂,并使用 0.5 的阈值进行分类(这不是好的做法)。正确拟合的点标记为绿色,错误拟合的点标记为红色。

代码:
nn <- 10
set.seed(2)
predictor <- runif(nn)
outcome <- runif(nn)>0.5
plot(predictor,outcome,pch=19,yaxt="n",ylim=c(-0.1,1.6))
axis(2,c(0,1),c("FALSE","TRUE"))
orders <- c(1,2,3,5,7,9)
xx <- seq(min(predictor),max(predictor),0.01)
par(mfrow=c(3,2))
for ( kk in seq_along(orders) ) {
plot(predictor,outcome,pch=19,yaxt="n",ylim=c(-0.2,1.2),main=paste("Order:",orders[kk]))
axis(2,c(0,1),c("FALSE","TRUE"))
model <- glm(outcome~poly(predictor,orders[kk]),family="binomial")
fits_obs <- predict(model,type="response")
fits <- predict(model,newdata=data.frame(predictor=xx),type="response")
lines(xx,fits)
correct <- (fits_obs>0.5 & outcome) | ( fits_obs<0.5 & !outcome)
points(predictor[correct],outcome[correct],cex=1.4,col="green",pch="o")
points(predictor[!correct],outcome[!correct],cex=1.4,col="red",pch="o")
}