Sentiment Analysis studies people's attitudes, opinions, evaluations, emotions, sentiments toward some entities such as products, topics, individuals, services, issues and classify them whether the opinion or evaluations inclines to that entities or not. It is getting more research focus in recent years due to its benefits for scientific and commercial purposes. This research aims at developing a better approach for sentiment analysis at the sentence level by using a combination of lexicon resources and a machine learning method. Moreover, as reviews data on the internet is unstructured and has much noise, this research uses different preprocessing techniques to clean the data before processing in different algorithms discussed in subsequent sections. Additionally, the lexicon building processes, how the lexicon is handled and combined with the machine learning algorithm for predicting sentiment is also discussed. In sentiment analysis, sentence's sentiment can be classified into three classes: positive sentiment, negative sentiment, or neutral. However, in this research work, we have excluded neutral sentiment for avoiding ambiguity and unnecessary complexity. The experiment results show that the proposed algorithm outperforms compared to the baseline machine learning algorithms. We have used four distinct datasets and different performance measures to check and validate the proposed method's robustness.