Using clustering and Lasso with cv
Since the information on all variables is already captured by the cluster variable, using it again in the Lasso model with some other variables, does it become redundant/biased?


It does not become biased, at least not in the statistical sense. Depending on the clustering mechanism, the information may be redundant. 

If you're using regression with the RMSE as the loss function and the squared-error as your loss metric for your clustering algorithm, then the information will work out to be redundant. 

Regardless, it's harmless to throw into the model and test this. The LASSO should learn that this information is redundant. 

Here's a simulation in R.

library(glmnet)
library(Matrix)

n &lt;- 1e5
nclusters &lt;- 5
set.seed(420)
rmse &lt;- function(y, yhat){
  return (sqrt( sum( (y-yhat)**2 )))
}
ls &lt;- data.frame(sample(letters, n, replace=TRUE))
xs &lt;- sparse.model.matrix(~.-1,data=ls)

print(head(xs))  

# Now let's run k-means
out &lt;- kmeans(xs, centers=nclusters)
bs &lt;- runif(dim(xs)[2])

# Let's run k-means on the different categories
clusterpred &lt;- data.frame(out[[1]])
ys &lt;- xs %*% bs + rnorm(n)
print(table(clusterpred))

# Now let's use a clustered data set to predict some outcome
cxs &lt;- sparse.model.matrix(~.-1, data = data.frame(cluster = factor(clusterpred[,1])))
# Concatenating the original features and the assigned clusters
totalxs &lt;- cbind2(xs, cxs)

head(cxs)

# Setting alpha = 1 implies LASSO for the GLMNET Package
model &lt;- cv.glmnet(y=ys, x=xs, alpha=1)
cmodel &lt;- cv.glmnet(y=ys, x=cxs, alpha=1)

# Running on the clusters and the original features
totalmodel &lt;- cv.glmnet(y=ys, x=totalxs, alpha=1)

# Predictions
yhat &lt;- predict(model, xs)
yhatc &lt;- predict(cmodel, cxs)
yhatt &lt;- predict(totalmodel, totalxs)

# Looking at the difference RMSEs 
print(rmse(ys, yhat))
print(rmse(ys, yhatc))
print(rmse(ys, yhatt))

# It seems to select most of the features and *one* cluster
print(coef(totalmodel, s='lambda.min'))


In this simulation, we see that the performance of the model slightly worse, but fairly similar, from including the clusters.