I made a mushroom biome on the surface and made my house in it. I tried to make sure no zombies or anything could get in by making trapdoor entrances. I dont have a very good weapon (I always give the good weapons I find to the person I play with, since they are yet to even get into hardmode by themselves) and the mushroom zombies and mushi ladybugs are pretty tough to fight. I've tried using peace candles and I'm planning on making a lot of NPC houses underground, but the peace candles dont work very well and it will be a while until I make all the houses. I want my home to be kind of a safe haven without any enemies. Is there any other way I can do it? Or should I just wait until I finish my NPC houses underneath? The picture is my house.
If you are willing to cover the entire place with walls, that will stop enemies from spawning.
You can craft up something cheap like stone or normal wood walls and that will do. There are also some walls and wallpapers that look very cool and could make your place look just as cool as it does now. If you don't like the look of the walls I recommend using glass or a colored variant, there are also wallpapers that look like the sky.
I personally think your house there may look great with a rugged bottom of some kind of natural-like material that blends with the mushroom basement-y area, and have that connect up to (not in a straight line - I would suggest it being a rugged line) something like a sky-like wallpaper or glass.
(As @BlueTangsRock pointed out) Any wall should work except dirt walls.