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
- 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]
- Machine Learning Identifies Cognitive Impairment From Patient Speech - Psychiatry Advisor - August 5th, 2026 [August 5th, 2026]
- The Evolution of AI and Machine Learning: Powering the Future of Energy - JPT Homepage - August 5th, 2026 [August 5th, 2026]
- How Machine Learning Is Reshaping Extended Detection and Response - Technology Org - August 5th, 2026 [August 5th, 2026]
- AI and machine learning roles boost Indias white-collar recruitment - Staffing Industry Analysts - August 5th, 2026 [August 5th, 2026]
- Machine learning narrows search for additional particles in the Higgs boson family - Phys.org - July 24th, 2026 [July 24th, 2026]
- F1 in Belgium: Machine learning algorithms are ruining the sport - Ars Technica - July 24th, 2026 [July 24th, 2026]
- Researchers use AI and machine learning to design two new promising blue TADF OLED emitters - OLED-Info - July 24th, 2026 [July 24th, 2026]
- Machine learning professor breaks down OpenAI model's hack of another AI company - CBS News - July 24th, 2026 [July 24th, 2026]
- Barlast Tests Folk Tradition and Machine Learning On Imitation Game - World Music Central - July 24th, 2026 [July 24th, 2026]
- Predicting Outcomes with Machine Learning | Mathematical Sciences | College of Arts & Sciences - University of Delaware - July 6th, 2026 [July 6th, 2026]
- Machine Learning in Public Health: A 3-day Intensive Workshop - American Public Health Association - July 6th, 2026 [July 6th, 2026]
- Tunable band-stop photodetection with machine learning-enabled broadband spectral adaptation - Nature - July 3rd, 2026 [July 3rd, 2026]
- Basic machine learning with lessR : Easy, simple, and free - Open Access Government - July 3rd, 2026 [July 3rd, 2026]
- QuadSci Named Machine Learning Company of the Year - MarTech Cube - July 3rd, 2026 [July 3rd, 2026]
- From Conventional to Intelligent Triage: A Systematic Review of Artificial Intelligence and Machine Learning Applications in Emergency Departments -... - July 3rd, 2026 [July 3rd, 2026]
- On Robustness and Chain-of-Thought Consistency of RL-Finetuned VLMs - Apple Machine Learning Research - July 3rd, 2026 [July 3rd, 2026]
- Improving Wildfire Prediction with Machine Learning and Firebreaks - University of Reading - July 3rd, 2026 [July 3rd, 2026]
- A 3X Leader for the Agentic Era: DataRobot Named a Leader Again in the Gartner Magic Quadrant for Data Science and Machine Learning Platforms -... - June 24th, 2026 [June 24th, 2026]
- A 3X Leader for the Agentic Era: DataRobot Named a Leader Again in the Gartner Magic Quadrant for Data Science and Machine Learning Platforms - Yahoo... - June 24th, 2026 [June 24th, 2026]
- Undergrads gain hands-on machine learning experience in summer program - The Pennsylvania State University - June 24th, 2026 [June 24th, 2026]
- Python and Machine Learning: Why the Two Skills Are Increasingly Inseparable - BNO News - June 24th, 2026 [June 24th, 2026]
- Domino Data Lab Named a Visionary for the Third Consecutive Year in the 2026 Gartner Magic Quadrant for AI Platforms for Data Science and Machine... - June 24th, 2026 [June 24th, 2026]
- Machine Learning Boosts Smart Thermochromic Window Efficiency - Bioengineer.org - June 24th, 2026 [June 24th, 2026]
- A.I. VS HUMAN ROAST BATTLE to Pit Machine Learning Against Live Rapper in SF - BroadwayWorld - June 16th, 2026 [June 16th, 2026]
- Machine learning gives the U.S. a 1% chance of winning the World Cup final in its own backyard - Fortune - June 16th, 2026 [June 16th, 2026]
- Machine Learning Reveals Genes That Help Yeasts Resist Stress - Department of Energy (.gov) - June 16th, 2026 [June 16th, 2026]
- Machine Learning Reveals AED Impact on LGG Prognosis - Bioengineer.org - June 16th, 2026 [June 16th, 2026]
- Introducing the Third Generation of Apples Foundation Models - Apple Machine Learning Research - June 12th, 2026 [June 12th, 2026]
- Machine learning model predicts T2D risk up to 10 years before onset - Managed Healthcare Executive - June 12th, 2026 [June 12th, 2026]
- GPU as a Service Market to Reach USD 14.4 Billion by 2033 at 16.0% CAGR, Fueled by Generative AI, Machine Learning, and Cloud Infrastructure Expansion... - June 12th, 2026 [June 12th, 2026]
- Machine learning-guided design of mechanoadaptive bioglues for multitissue trauma and first-aid applications - Nature - June 12th, 2026 [June 12th, 2026]
- OUCRU scientists are using machine learning to forecast the next dengue outbreak - tropicalmedicine.ox.ac.uk - June 12th, 2026 [June 12th, 2026]
- IIT Roorkee invites applications for 11th Batch of Data Science, Machine Learning & Generative AI Programme - Elets Technomedia - June 12th, 2026 [June 12th, 2026]
- RAG Is Not Machine Learning, and the ML Toolkit Solves the Wrong Problem - Towards Data Science - June 3rd, 2026 [June 3rd, 2026]
- A reality check on the AI jobs hysteria - Machine Learning Week US - June 3rd, 2026 [June 3rd, 2026]
- STMicroelectronics Releases Vibration Sensor With Integrated Machine Learning for Industrial Monitoring - geneonline.com - June 3rd, 2026 [June 3rd, 2026]
- NAVER LABS Europe is offering a 2026 Research Internship in Large Language Models, focusing on AI Alignment, Controlled Generation, and Machine... - May 29th, 2026 [May 29th, 2026]
- Q&A: A Machine-Learning-Based Tool to Enhance Clinical Care of Patients With Multiple Sclerosis - Physician's Weekly - May 29th, 2026 [May 29th, 2026]
- Evaluating the Diagnostic Performance of AI and Machine Learning in Sickle Cell Disease Detection: A Systematic Review - Cureus - May 29th, 2026 [May 29th, 2026]
- HTC-19 Update: Artificial Intelligence and Machine Learning - Chromatography Online - May 29th, 2026 [May 29th, 2026]
- Multimodal phenotypic classification of generalized anxiety and panic using structural MRI data and psychosocial factors: machine learning results... - May 29th, 2026 [May 29th, 2026]
- Machine Learning Personalizes Depression Treatment with the Help of Wearable Technology - UC San Diego Today - May 27th, 2026 [May 27th, 2026]
- How Machine Learning Makes Complex Knowledge Useable in Real-World Conditions - Supply & Demand Chain Executive - May 25th, 2026 [May 25th, 2026]
- How Airbnbs machine-learning tools aim to prevent Memorial Day weekend parties in Las Vegas - FOX5 Vegas - May 25th, 2026 [May 25th, 2026]
- Artificial Intelligence and Machine Learning in Hospital Quality Management, Patient Safety, and Accreditation Readiness: A Systematic Review and... - May 25th, 2026 [May 25th, 2026]