# How to perform cross validation in semi-supervised learning

Suppose in semi-supervised learning, we have labeled set $$X_L$$ and unlabeled set $$X_U$$

1. Is it ok to validate model performance on labeled data only?
2. How to do cross-validation in transductive learning, in which the test set is $$X_U$$, which can also be considered as a part of the training data?
3. While performing label propagation or graph neural networks on graph-based data, should we split all nodes randomly, or preprocess(like finding connected components) first?