The Machine Learning Guide for Predictive Accuracy: Interpolation and Extrapolation – Towards Data Science
class ModelFitterAndVisualizer: def __init__(self, X_train, y_train, y_truth, scaling=False, random_state=41): """ Initialize the ModelFitterAndVisualizer class with training and testing data.
Parameters: X_train (pd.DataFrame): Training data features y_train (pd.Series): Training data target y_truth (pd.Series): Ground truth for predictions scaling (bool): Flag to indicate if scaling should be applied random_state (int): Seed for random number generation """ self.X_train = X_train self.y_train = y_train self.y_truth = y_truth
self.initialize_models(random_state)
self.scaling = scaling
# Initialize models # ----------------------------------------------------------------- def initialize_models(self, random_state): """ Initialize the models to be used for fitting and prediction.
Parameters: random_state (int): Seed for random number generation """
# Define kernel for GPR kernel = 1.0 * RBF(length_scale=1.0) + WhiteKernel(noise_level=1.0)
# Define Ensemble Models Estimator # Decision Tree + Kernel Method estimators_rf_svr = [ ('rf', RandomForestRegressor(n_estimators=30, random_state=random_state)), ('svr', SVR(kernel='rbf')), ] estimators_rf_gpr = [ ('rf', RandomForestRegressor(n_estimators=30, random_state=random_state)), ('gpr', GaussianProcessRegressor(kernel=kernel, normalize_y=True, random_state=random_state)) ] # Decision Trees estimators_rf_xgb = [ ('rf', RandomForestRegressor(n_estimators=30, random_state=random_state)), ('xgb', xgb.XGBRegressor(random_state=random_state)), ]
self.models = [ SymbolicRegressor(random_state=random_state), SVR(kernel='rbf'), GaussianProcessRegressor(kernel=kernel, normalize_y=True, random_state=random_state), DecisionTreeRegressor(random_state=random_state), RandomForestRegressor(random_state=random_state), xgb.XGBRegressor(random_state=random_state), lgbm.LGBMRegressor(n_estimators=50, num_leaves=10, min_child_samples=3, random_state=random_state), VotingRegressor(estimators=estimators_rf_svr), StackingRegressor(estimators=estimators_rf_svr, final_estimator=RandomForestRegressor(random_state=random_state)), VotingRegressor(estimators=estimators_rf_gpr), StackingRegressor(estimators=estimators_rf_gpr, final_estimator=RandomForestRegressor(random_state=random_state)), VotingRegressor(estimators=estimators_rf_xgb), StackingRegressor(estimators=estimators_rf_xgb, final_estimator=RandomForestRegressor(random_state=random_state)), ]
# Define graph titles self.titles = [ "Ground Truth", "Training Points", "SymbolicRegressor", "SVR", "GPR", "DecisionTree", "RForest", "XGBoost", "LGBM", "Vote_rf_svr", "Stack_rf_svr__rf", "Vote_rf_gpr", "Stack_rf_gpr__rf", "Vote_rf_xgb", "Stack_rf_xgb__rf", ]
def fit_models(self): """ Fit the models to the training data.
Returns: self: Instance of the class with fitted models """ if self.scaling: scaler_X = MinMaxScaler() self.X_train_scaled = scaler_X.fit_transform(self.X_train) else: self.X_train_scaled = self.X_train.copy()
for model in self.models: model.fit(self.X_train_scaled, self.y_train) return self
def visualize_surface(self, x0, x1, width=400, height=500, num_panel_columns=5, vertical_spacing=0.06, horizontal_spacing=0, output=None, display=False, return_fig=False): """ Visualize the prediction surface for each model.
Parameters: x0 (np.ndarray): Meshgrid for feature 1 x1 (np.ndarray): Meshgrid for feature 2 width (int): Width of the plot height (int): Height of the plot output (str): File path to save the plot display (bool): Flag to display the plot """
num_plots = len(self.models) + 2 num_panel_rows = num_plots // num_panel_columns
whole_width = width * num_panel_columns whole_height = height * num_panel_rows
specs = [[{'type': 'surface'} for _ in range(num_panel_columns)] for _ in range(num_panel_rows)] fig = make_subplots(rows=num_panel_rows, cols=num_panel_columns, specs=specs, subplot_titles=self.titles, vertical_spacing=vertical_spacing, horizontal_spacing=horizontal_spacing)
for i, model in enumerate([None, None] + self.models): # Assign the subplot panels row = i // num_panel_columns + 1 col = i % num_panel_columns + 1
# Plot training points if i == 1: fig.add_trace(go.Scatter3d(x=self.X_train[:, 0], y=self.X_train[:, 1], z=self.y_train, mode='markers', marker=dict(size=2, color='darkslategray'), name='Training Data'), row=row, col=col)
surface = go.Surface(z=self.y_truth, x=x0, y=x1, showscale=False, opacity=.4) fig.add_trace(surface, row=row, col=col)
# Plot predicted surface for each model and ground truth else: y_pred = self.y_truth if model is None else model.predict(np.c_[x0.ravel(), x1.ravel()]).reshape(x0.shape) surface = go.Surface(z=y_pred, x=x0, y=x1, showscale=False) fig.add_trace(surface, row=row, col=col)
fig.update_scenes(dict( xaxis_title='x0', yaxis_title='x1', zaxis_title='y', ), row=row, col=col)
fig.update_layout(title='Model Predictions and Ground Truth', width=whole_width, height=whole_height)
# Change camera angle camera = dict( up=dict(x=0, y=0, z=1), center=dict(x=0, y=0, z=0), eye=dict(x=-1.25, y=-1.25, z=2) ) for i in range(num_plots): fig.update_layout(**{f'scene{i+1}_camera': camera})
if display: fig.show()
if output: fig.write_html(output)
if return_fig: return fig
Read this article:
The Machine Learning Guide for Predictive Accuracy: Interpolation and Extrapolation - Towards Data Science
- Machine Learning Predicts Nuclear Reactor Containment Seismic Demands With Explainable Models - Bioengineer.org - November 7th, 2026 [November 7th, 2026]
- Explainable Machine Learning Identifies Predictive Thresholds Governing Urban Heat Island Dynamics - Bioengineer.org - November 7th, 2026 [November 7th, 2026]
- Machine learning reshapes yeast enzyme to favor a stubborn aldehyde and survive heat - Bioengineer.org - November 7th, 2026 [November 7th, 2026]
- Machine learning and winter storm predictions to be the focus of Nov. 6 talk - The Pennsylvania State University - November 3rd, 2026 [November 3rd, 2026]
- Zelims ZOE Taps AI, Machine Learning to Enhance S&R Operations - Marine News Magazine - November 3rd, 2026 [November 3rd, 2026]
- From Meters to Machine Learning: Building AI-Ready Utilities in India - CSIS | Center for Strategic and International Studies - October 30th, 2026 [October 30th, 2026]
- SPINE: A machine-learning program is on the trail of ghost particles - Phys.org - October 30th, 2026 [October 30th, 2026]
- Identification of ferroptosis-related key genes influencing synovitis development in osteoarthritis based on machine learning - Nature - October 30th, 2026 [October 30th, 2026]
- Machine learning simulations reveal how plastic transforms into hard carbon - EurekAlert! - October 30th, 2026 [October 30th, 2026]
- Machine learning predicts wastewater aeration efficiency, but only when data stay close to home - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine learning reveals when changing shot direction pays off in elite tennis - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine learning and blockchain team up to cut supply chain costs and carbon - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine learning simulations uncover how plastic transforms into hard carbon - Open Access Government - October 30th, 2026 [October 30th, 2026]
- Machine Learning Surrogates Predict Wing Aerodynamics and Stress in Seconds - bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Kernel-Tuned Machine Learning Pushes Network Intrusion Detection Toward 99% Accuracy on Benchmark Data - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine learning and water quality indices reveal monsoon pollution hotspots in Odishas Baitarani River - bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine Learning Predicts ICU Deaths in PAD Patients, but Hemodynamics Add Little - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Stacked machine learning pairs ultrasound and Raman spectra to flag thyroid cancer - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine Learning and Entropy Indices Reveal Most Mahanadi Water Near Paradip Unfit to Drink - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- Machine learning simulations trace how plastic turns into hard carbon atom by atom - Bioengineer.org - October 30th, 2026 [October 30th, 2026]
- My Machine Learning Pipeline Cheated, and Cross-Validation Never Noticed - Towards Data Science - October 26th, 2026 [October 26th, 2026]
- Machine learning predicts next-year fitness assessment failure in university students - Bioengineer.org - October 26th, 2026 [October 26th, 2026]
- Serrated Airfoils Reshape Stall Behavior in CFD, Wind Tunnel and Machine Learning Study - Bioengineer.org - October 26th, 2026 [October 26th, 2026]
- Applications of artificial intelligence and machine learning in food processing, quality control, and food safety: a critical review - Nature - October 26th, 2026 [October 26th, 2026]
- Machine-learning simulations reveal how sodium batteries form their protective interface - Bioengineer.org - October 26th, 2026 [October 26th, 2026]
- Reimagining demand forecasting at Bayer with AI and machine learning - Supply Chain Management Review - September 28th, 2026 [September 28th, 2026]
- What Is Machine Learning Fairness? What You Need to Know - Coursera - September 28th, 2026 [September 28th, 2026]
- Howard University Hosts Machine Learning Symposium in Collaboration with Amazon Web Services - The Dig at Howard University - September 26th, 2026 [September 26th, 2026]
- Machine learning helps identify chemicals that repel honey bees from pesticides - University of California, Riverside - September 26th, 2026 [September 26th, 2026]
- Machine Learning Hunts Down Hidden Gene Switches Across the Fungal Tree of Life - Bioengineer.org - September 26th, 2026 [September 26th, 2026]
- Integrated Quantum Technologies Advances ICA Research for IEEE Secure and Trustworthy Machine Learning Conference Submission - TMX Newsfile - September 26th, 2026 [September 26th, 2026]
- I surprisingly don't hate the Logitech Blue Yeti 2's use of machine learning - Yahoo Tech - September 26th, 2026 [September 26th, 2026]
- LANDR expands AI fraud detection built with machine learning lab Mila and says artificial streams flagged by Spotify for music it distributes fell... - September 26th, 2026 [September 26th, 2026]
- University Of California Machine Learning Spots Scents Bees Avoid In Real Fields - Quantum Zeitgeist - September 26th, 2026 [September 26th, 2026]
- Inside the AI Investing Think Tank: How Machine Learning Drives Modern Financial Research - Rebellion Research - September 26th, 2026 [September 26th, 2026]
- New machine learning methods set to improve forecasts - University of Reading - September 24th, 2026 [September 24th, 2026]
- What this machine learning model boasting 65% accuracy says is coming next for the 10-year Treasury - MarketWatch - September 24th, 2026 [September 24th, 2026]
- Quantitative Investment Strategies: Institutional Architecture and Machine Learning Alpha in 2026 - Rebellion Research - September 24th, 2026 [September 24th, 2026]
- Machine learning forecasts suggest a concentration paradox in international student mobility to the United Kingdom - Nature - September 22nd, 2026 [September 22nd, 2026]
- Machine learning model distinguishes levels of psychological resilience in health care workers with 75% accuracy - Medical Xpress - September 22nd, 2026 [September 22nd, 2026]
- How Machine Learning Is Changing the Way We Inspect the Railway - Railway-News - September 22nd, 2026 [September 22nd, 2026]
- Microsoft file patent for a machine learning system that would "train" itself on your playtime to work out when you'll be least annoyed by... - September 22nd, 2026 [September 22nd, 2026]
- Quantitative Finance Conferences NYC 2026: The AI and Machine Learning Summit Guide - Rebellion Research - September 22nd, 2026 [September 22nd, 2026]
- Nanoparticle Electrode and Machine Learning Team Up to Catch Toxic Lead and Cadmium in Water - Bioengineer.org - September 22nd, 2026 [September 22nd, 2026]
- Cosmic tensions: can machine learning find a fairer story of the universe - Times of Malta - September 22nd, 2026 [September 22nd, 2026]
- Lessening the shock of defibrillation with machine learning - AIP.ORG - September 17th, 2026 [September 17th, 2026]
- Algorithmic Stock Picking: The Architecture of Machine Learning Alpha in 2026 - Rebellion Research - September 17th, 2026 [September 17th, 2026]
- Canada is pushing ahead with machine learning to improve medical diagnostics - Digital Journal - September 17th, 2026 [September 17th, 2026]
- How researchers use machine learning to re-create chirps and trills produced by forest insects when Dinos - The Times of India - September 15th, 2026 [September 15th, 2026]
- Machine Learning Reshapes Credit Scoring - Communications of the ACM - September 13th, 2026 [September 13th, 2026]
- Machine Learning With Threshold Optimization Could Help Reduce Unnecessary Appendectomies in Adults - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Information Theory Meets Machine Learning to Catch Industrial Cyberattacks - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Machine Learning Gets a Robustness Boost by Turning Labels into Preferences - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Machine Learning Meets X-Rays to Reveal the Hidden Architecture of Pea Seeds - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Machine Learning Predicts Which Women Will Face Early Ovarian Failure Within Three Years - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Machine Learning Cracks the Code of Nitinol Wear, a Metal That Remembers Its Shape - bioengineer.org - September 13th, 2026 [September 13th, 2026]
- Using machine learning to see how living brains learn - The University of Utah - September 8th, 2026 [September 8th, 2026]
- Applying causal machine learning to assess and improve cleantech policy design - Nature - September 8th, 2026 [September 8th, 2026]
- Frontier Tech Leaders Programme Celebrates First Machine Learning Bootcamp Graduation and AI for Sustainable Tourism Hackathon in Angola - United... - September 8th, 2026 [September 8th, 2026]
- From the Knowledge to machine learning: Wayve takes AI driving to London - IOT Insider - September 8th, 2026 [September 8th, 2026]
- Algorithm optimizes machine learning techniques that use linear, tunable resistor networks - AIP.ORG - September 2nd, 2026 [September 2nd, 2026]
- Math Modeling Seminar: Applications of Topological Data Analysis and Machine Learning Models in Predictive Biology and Drug Discovery | Events | RIT -... - September 2nd, 2026 [September 2nd, 2026]
- UC Berkeley Announces New Professional Graduate Degree in AI and Machine Learning - University of California, Berkeley - August 25th, 2026 [August 25th, 2026]
- DedeepyaYarraand the rise of Trustworthy AI: Where Machine Learning meets cybersecurity - India.com - August 25th, 2026 [August 25th, 2026]
- Machine learning smooths the road from idea to real-world climate impact - EurekAlert! - August 18th, 2026 [August 18th, 2026]
- Chris Latham Interviews Henry Zelikovsky, Founder & CEO of Softlab360: Successful Applications of AI/Machine Learning in Wealth Management -... - August 18th, 2026 [August 18th, 2026]
- Integrated data and machine learning transform lung cancer diagnosis and treatment - Bioengineer.org - August 18th, 2026 [August 18th, 2026]
- Machine learning accelerates climate solutions from ideas to real-world impact - Bioengineer.org - August 18th, 2026 [August 18th, 2026]
- Identification of weight loss predictors using machine learning approaches in adolescents with obesity - Nature - August 16th, 2026 [August 16th, 2026]
- Quantitative Hedge Fund Strategies: The Machine Learning Revolution of 2026 - rebellionresearch.com - August 16th, 2026 [August 16th, 2026]
- Healthcare Machine Learning Hits Production Scale as Governance Falls Behind, Black Book's Fourth Annual Report Finds - bhpioneer.com - August 16th, 2026 [August 16th, 2026]
- Machine Learning Identifies Predictors of Weight Loss in Adolescents With Obesity - Bioengineer.org - August 16th, 2026 [August 16th, 2026]
- How AI is changing hurricane forecasting as scientists track storms with machine learning - Gulf Coast News and Weather - August 12th, 2026 [August 12th, 2026]
- Scalable prediction of suicidal risk in university students: a three steps machine learning approach in university settings - Nature - August 12th, 2026 [August 12th, 2026]
- Identification of critical brain regions for young adults with obesity and their relationships with impulsivity using machine learning based on... - August 12th, 2026 [August 12th, 2026]
- UNIVERSITY OF ALBERTA Drones and machine learning team up to map forest soil health - Education News Canada - August 12th, 2026 [August 12th, 2026]
- Meet Millie Pradawong, the 14-year-old Virginia student using machine learning and CRISPR to make microal - The Times of India - August 7th, 2026 [August 7th, 2026]
- UWs Machine Learning for High School Teachers Workshop Enriches Classrooms - University of Wyoming - August 7th, 2026 [August 7th, 2026]
- Assessment and pathways of the energy production revolution in the Yellow River Basin, China towards carbon peaking: a machine learning approach -... - August 7th, 2026 [August 7th, 2026]
- TN Agri Budget: Govt bets on AI, Machine Learning to deliver real-time assistance to farmers - ThePrint - August 7th, 2026 [August 7th, 2026]