Agriculture is considered as the backbone of Indian economy. Despite the tremendous increase in industrialization and advancement in technology, a majority of India’s population is dependent on agriculture. Agriculture in India is not uniform throughout. In this paper, rule based classification has been applied to classify the states based on the amount of rainfall. The accuracy of Classification results is validated using Random Forest algorithm. Also we have found the major crops that can be grown in a state using a proposed algorithm by analyzing the soil, temperature and rainfall data. Due to time constraint and non-optimal usage of land resources, cultivation of all the suggested crops is not possible. Therefore, Genetic Algorithm is applied to give the best possible suggestion for crop cultivation across various states in India. So our proposed method will help to maximize the overall agriculture production in India.