I believe that of all the characters in Shakespeare's Hamlet, the most noble is Hamlet. Although he is slow to avenge his father's murder, his intent is sincere and admirable.
Hamlet tries to make sure that he is dong the honorable thing in taking Claudius' life when he questions the honesty of the ghost and his report of Claudius' murder of Old Hamlet. Hamlet drives Ophelia away, but never means her physical harm—he is devastated by her death. He kills Polonius by mistake, when the old man is hiding where he does not belong.
Hamlet is living in the castle with a murderer, someone who would do anything to keep his title. And while the prince is rough in holding his mother accountable for her hasty and "incestuous" marriage to her brother-in-law, Hamlet honors his father's directive to leave Gertrude's punishment to heaven—mother and son make peace.
Hamlet is a young man without any experience in facing this kind of situation. He has been away at school. We have no indication that he has any military experience. He is deficient in knowing how to deal with liars and murderers. His good nature, perhaps even a sense of guilt over the deaths of Ophelia and Polonius, leads to his death: even though he suspects an attempt at foul play.
Horatio is Hamlet's friend. He has watched the tragedy unfold as his friend has tried to do the right and noble thing with those around him. I believe that any praise of Hamlet from Horatio is well-placed; Hamlet is certainly deserving.