What is a Classification Algorithm?
A classification algorithm learns how to assign an input to a class. The input can be a row of tabular data, an image, a sentence, a signal sample, or a set of measured features. The output is a label such as "spam", "normal", "fault", "LOS", or "NLOS".
Different classifiers make different assumptions. Some draw simple linear boundaries. Some split data into tree-like rules. Some compare a new point with stored examples. Some combine many weak models into a stronger model.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
1. Logistic Regression
Logistic regression is one of the best starting points for binary classification. Despite the word "regression", it is used to estimate the probability of a class.
Concept adapted from Tpoint Tech/Javatpoint logistic-regression explanations and scikit-learn LogisticRegression documentation.
References for this section3
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- Tpoint Tech/Javatpoint, "Logistic Regression in Machine Learning".
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Intuition
The model computes a weighted sum of the features, then passes it through a sigmoid function. The result is a probability.
If the probability is above a chosen threshold, the model predicts class 1; otherwise, class 0.
References for this section3
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Strengths
- Fast to train.
- Easy to interpret.
- Strong baseline for many problems.
- Works well when the decision boundary is roughly linear.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Weaknesses
- Struggles with complex non-linear patterns unless features are engineered.
- Sensitive to irrelevant features and poor scaling.
- May underfit when the true relationship is highly complex.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Best Use Cases
- Medical risk scoring.
- Spam detection baselines.
- Credit scoring.
- Any problem where interpretability is important.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
2. K-Nearest Neighbors
K-nearest neighbors (KNN) is a memory-based classifier. It does not learn a compact equation during training. Instead, it stores the training examples and compares new examples to them.
References for this section3
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Intuition
To classify a new point:
- Measure its distance to all training points.
- Find the
Kclosest points. - Take a majority vote among their labels.
If K = 5 and three neighbors are class A while two are class B, the model predicts class A.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Strengths
- Very simple.
- No explicit training phase.
- Can learn non-linear boundaries.
- Useful for small and well-scaled datasets.
References for this section3
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Weaknesses
- Slow prediction for large datasets.
- Sensitive to feature scaling.
- Performs poorly with many irrelevant features.
- Suffers in high-dimensional spaces.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Best Use Cases
- Small datasets.
- Recommendation prototypes.
- Simple pattern recognition where distance is meaningful.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
3. Decision Trees
A decision tree classifies by asking a sequence of questions. Each internal node tests a feature, each branch is an answer, and each leaf gives a final class.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Intuition
For example, a tree for link quality might ask:
Is SNR > 15 dB?
yes -> Is delay spread low?
no -> Bad link
The tree learns which questions split the data most effectively. Common splitting criteria include Gini impurity and information gain.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Strengths
- Easy to explain.
- Handles numerical and categorical data.
- Captures non-linear rules.
- Requires little preprocessing.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Weaknesses
- Can overfit badly if allowed to grow too deep.
- Small changes in data can change the tree.
- Single trees are usually less accurate than ensembles.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Best Use Cases
- Explainable rule-based decisions.
- Quick exploratory modeling.
- Problems where human-readable logic matters.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
4. Support Vector Machines
Support Vector Machines (SVMs) try to find a boundary that separates classes with the largest possible margin.
Concept adapted from margin-based SVM diagrams in Tpoint Tech/Javatpoint and support-vector-network literature.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Intuition
The best boundary is not only one that separates the classes; it is the one that leaves the widest gap between them. The closest training points to the boundary are called support vectors.
For non-linear problems, SVMs use kernels. A kernel lets the algorithm behave as if the data were mapped into a higher-dimensional space, without explicitly computing all those new dimensions.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Strengths
- Works well in high-dimensional data.
- Effective when the number of features is large.
- Kernel trick handles non-linear boundaries.
- Strong theoretical foundation.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Weaknesses
- Slow for very large datasets.
- Hyperparameter tuning is important.
- Results are less interpretable than logistic regression or trees.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Best Use Cases
- Text classification.
- Bioinformatics.
- Medium-sized datasets with many features.
- Problems where a strong margin-based classifier is useful.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
5. Random Forest
Random forest is an ensemble of decision trees. Instead of trusting one tree, it trains many trees and combines their predictions.
References for this section3
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Intuition
Each tree sees a random sample of the data and a random subset of features. Because the trees are different, their errors are partly different. Voting across many trees reduces the instability of a single tree.
References for this section3
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Strengths
- Strong performance on tabular data.
- Reduces decision-tree overfitting.
- Handles non-linear feature interactions.
- Provides feature importance estimates.
- Works with little preprocessing.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Weaknesses
- Less interpretable than a single tree.
- Larger memory usage.
- Cannot extrapolate beyond patterns seen in training.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Best Use Cases
- General tabular classification.
- Baselines for structured data.
- Problems with mixed feature types.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
6. Gradient Boosting and XGBoost
Gradient boosting also uses many trees, but it builds them sequentially. Each new tree tries to correct the errors made by the previous trees.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Intuition
Random forest builds many independent trees and averages them. Boosting builds a team in order: tree 1 makes mistakes, tree 2 focuses on those mistakes, tree 3 corrects remaining errors, and so on.
XGBoost is a highly optimized implementation of gradient-boosted trees. It became popular because it is accurate, regularized, scalable, and very effective on structured data.
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Strengths
- Excellent accuracy on tabular data.
- Handles non-linear interactions.
- Includes regularization to control overfitting.
- Often performs better than random forest when tuned carefully.
References for this section3
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Weaknesses
- More hyperparameters to tune.
- Can overfit if trees are too deep or learning rate is too high.
- Less transparent than simple models.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Best Use Cases
- Structured/tabular datasets.
- Competitions and high-performance prediction tasks.
- Risk scoring, churn prediction, demand forecasting, and ranking tasks.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
7. Neural Network Classifiers
Neural networks are useful when the input is complex, high-dimensional, or weakly structured, such as images, audio, text, or raw sensor streams.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Intuition
A neural network learns layers of representation. Early layers learn simple patterns, while deeper layers combine them into more abstract concepts.
References for this section3
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Strengths
- Powerful for images, language, speech, and large datasets.
- Learns features automatically.
- Can model highly complex boundaries.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Weaknesses
- Requires more data and compute.
- Harder to interpret.
- More sensitive to architecture and training choices.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Model Selection Guide
| Need | Good starting model |
|---|---|
| Simple, interpretable baseline | Logistic regression |
| Small dataset with meaningful distance | KNN |
| Human-readable rules | Decision tree |
| Strong classifier for many features | SVM |
| Reliable tabular baseline | Random forest |
| High-performance tabular prediction | XGBoost or gradient boosting |
| Images, speech, text, raw signals | Neural network |
References for this section3
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
Evaluation Checklist
- Use a separate test set.
- Check class imbalance.
- Report precision, recall, F1-score, and confusion matrix.
- Tune thresholds when false positives and false negatives have different costs.
- Use cross-validation when data is limited.
- Inspect failure cases, not only summary metrics.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Python: Load Common Classifiers
All of these scikit-learn classifiers use the same core methods:
fit(X_train, y_train)learns from data.predict(X_test)returns class labels.predict_proba(X_test)returns probabilities when supported.
from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.naive_bayes import GaussianNB
classifiers = {
"logistic_regression": LogisticRegression(max_iter=1000),
"knn": KNeighborsClassifier(n_neighbors=5),
"decision_tree": DecisionTreeClassifier(max_depth=5, random_state=42),
"svm": SVC(kernel="rbf", probability=True),
"random_forest": RandomForestClassifier(n_estimators=200, random_state=42),
"gradient_boosting": GradientBoostingClassifier(random_state=42),
"naive_bayes": GaussianNB(),
}
References for this section3
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
Python: Compare Classifiers on One Dataset
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, f1_score
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
for name, clf in classifiers.items():
# Scaling helps distance/kernel/linear methods; tree models do not need it,
# but keeping one pipeline makes comparison simple.
model = make_pipeline(StandardScaler(), clf)
model.fit(X_train, y_train)
pred = model.predict(X_test)
print(
name,
"accuracy=", round(accuracy_score(y_test, pred), 3),
"f1=", round(f1_score(y_test, pred), 3),
)
References for this section3
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Python: Save and Load a Trained Classifier
import joblib
best_model = make_pipeline(
StandardScaler(),
RandomForestClassifier(n_estimators=300, random_state=42)
)
best_model.fit(X_train, y_train)
joblib.dump(best_model, "classifier.joblib")
loaded_model = joblib.load("classifier.joblib")
print(loaded_model.predict(X_test[:5]))
References for this section3
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
Takeaway
No classifier is best for every problem. Start with a simple baseline, understand the data, choose metrics that match the real cost of mistakes, and increase model complexity only when the simpler model is not enough.
References for this section3
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
Complete references and further reading
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, vol. 20, pp. 273-297, 1995.
- L. Breiman, "Random Forests", Machine Learning, vol. 45, pp. 5-32, 2001.
- J. H. Friedman, "Greedy Function Approximation: A Gradient Boosting Machine", The Annals of Statistics, vol. 29, no. 5, pp. 1189-1232, 2001.
- T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System", Proceedings of ACM SIGKDD, San Francisco, CA, USA, 2016, pp. 785-794.
- Tpoint Tech/Javatpoint, "Classification Algorithm in Machine Learning".
- Tpoint Tech/Javatpoint, "Logistic Regression in Machine Learning".
- Tpoint Tech/Javatpoint, "Random Forest Algorithm in Machine Learning".
- Scikit-learn documentation, "LogisticRegression" and "RandomForestClassifier".