Now-a-days, Social media platforms like Facebook, Twitter etc. are becoming more and more popular to express feelings and thoughts. People not only share their happy moments on these platforms but also share their feelings when they are extremely depressed. Analyzing these social media posts, one’s mental condition can be detected whether he/she is happy, sad or angry at a particular time using sentiment analysis in natural language processing. Most of the research in this field is based on English language and the accuracy of sentiment analysis from Bengali language is not very high. So, our purpose is to work on this field using Bengali dataset collected from different social media posts and make the sentiment detection more accurate so that this work can be used to build a system that can be used in the mental health sector of our country. In this research, we have first collected social media data. After applying different data preprocessing techniques, we have made a number of feature selection and extraction combinations. We have applied some basic and advanced machine learning and deep learning algorithms on each of these to find the best combination and algorithm by monitoring the highest achieved accuracy.