Building a rational Gradient Boosting Model for regression

I am working on estimation of house price. The dataset has 26 features such as area, age, elevator, parking, etc. I have trained a Gradient Boosting model for regression and the performance of the model is almost acceptable, but the problem is that for some features the relation between the features and the predicted values is not rational. For example by increasing the age of a building, we always expect that the price of the house decrease. Although in the dataset it doesn't always happen but the trend is descending as I expect; or I expect the predicted price for a house which has elevator to be always more than a similar house without elevator, but for a lot of samples it doesn’t happen. How can I enforce the model to have rational correlation between attributes and predictions?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum