If you would like to show read only data, green check and red cross are the best alternatives I guess. Yes/No labels are hard to perceive but may be augemented with color coding... I also recommend larger check icons compared to the cross icon size. Of course this depends on context as well... If No does not have a very negative meaning (i.e. Warning, error etc.) then unchecked checkboxes would be a better alternative.
If there is a state where the data is neither yes nor no then a "-" or "na" would be ok. Again how user will interpret this depends on the context...
If user is able to manipulate the data then checkboxes of various types would be conventional to use...