I have a colleague who is extremely empathetic, and can always tell exactly what I'm feeling, why I'm feeling it, and can predict what I may want him to do. He often takes various actions on my behalf or predicts what I am about to ask him, or comments on my mood and this bothers me quite a bit because it feels very invasive to have someone know so much about me without me consciously volunteering the information. In addition, this coworker is very social and often/constantly socializes with people around me but never with me, which makes me feel like I'm being excluded - I don't want to have think about work as a social environment, I am used to working in a professional environment where work is about work and people do not socialize. I wish he would either not socialize with coworkers, or include me in the conversation when he does. Preferable the former.
I usually try to be accepting of his differences, but if I'm in a bad mood I get very angry at him doing this because it bothers me, and he can tell. I'm pretty sure he thinks I hate him or something - I do not, I just have a bad response to how he interacts with me when I am in a bad mood. How can I improve this situation with my coworker?