I am working on a dataset using python I have 17 variables that need to be used to predict one thing (Thing being a %) is there any non-linear machine learning algorithms anyone knows that could achieve this. I have. already implemented a multiple linear regression to it but the data is not very linear so I would want a better fit. All the other algorithms I've tried such as polynomial regression need the same values X=Y but in this case that is not possible as I have 17 variables all needed to predict one thing.
Non-Linear Machine Learning Algorithms
191 Views Asked by QuestionMan2345 AtThere are 2 best solutions below
On
you can explore the following non-linear machine learning algorithms:
Random Forest: Random Forest is an ensemble algorithm that can capture complex relationships between your variables and the target variable. It's particularly good at handling non-linear patterns and can handle multiple input variables well.
Gradient Boosting: Gradient Boosting algorithms like XGBoost, LightGBM, or CatBoost are powerful for non-linear regression tasks. They build a series of weak learners to form a strong predictive model and can handle interactions among variables.
Support Vector Machines (SVM): SVM can work well for non-linear regression tasks by using kernel functions to map data into higher dimensions where linear separation might be possible.
K-Nearest Neighbors (KNN): KNN can be used for regression as well, and it's capable of capturing local non-linear patterns in the data.
Decision Trees: Decision trees can also capture non-linear relationships. Although a single decision tree may not be as powerful, you can consider using an ensemble of trees like Random Forest or Gradient Boosting.
these algorithms depends on factors such as data quality, feature engineering, hyperparameter tuning, and the specific characteristics of your dataset. It's a good idea to try different algorithms, experiment with different settings, and perform thorough cross-validation to determine which one works best for your particular case.
One idea would be to use a neural network, a sequence of linear combinations, with a non-linear component in the form of an activation function. This would allow for identifying non-linear relationships. You can use Keras for python, and ReLu is the most common activation function.