"Working of Machine Learning Model" provides a comprehensive visual representation of the steps involved in building and evaluating a machine learning model. Here's a detailed description: Main Components: Initial Dataset: Visual: A database icon representing the raw or initial dataset. Description: This is the starting point where the data is collected. The dataset may contain various types of data, including numerical, categorical, and potentially missing values. Exploratory Data Analysis (EDA): Visual: A box labeled "Exploratory Data Analysis" connected to several statistical terms such as MEAN, MEDIAN, STD (Standard Deviation), Missing Values, Correlation, PCA (Principal Component Analysis), and LDA (Linear Discriminant Analysis). Description: EDA is a crucial step where the dataset is analyzed to understand its structure, identify patterns, detect outliers, and summarize its main characteristics using statistical graphics and other data visualization methods. PCA and LDA are used for dimensionality reduction. Pre-Processed Dataset: Visual: Another database icon representing the pre-processed dataset. Description: After EDA, the data is cleaned and pre-processed to handle missing values, normalize or scale features, and encode categorical variables. This dataset is now ready for model training. Splitting the Dataset: Visual: The dataset is split into two parts: 70% for the training set and 30% for the test set. Description: The dataset is divided into training and test sets to allow the model to learn from the training data and then be evaluated on unseen test data. This split helps prevent overfitting and ensures that the model generalizes well to new data. Model Training and Cross-Validation: Visual: A flow chart showing various machine learning algorithms (e.g., SVM, KNN) and processes such as Random Search, Grid Search, Hyperparameter Optimization, and Feature Selection. Description: The model is trained on the training set using various algorithms. Cross-validation is used to evaluate the model's performance and tune hyperparameters. Techniques like Grid Search and Random Search help find the best parameters for the model. Trained Model: Visual: A trained model icon connected to predicted Y values. Description: Once trained, the model makes predictions on the test set, producing the predicted output values (Y values). These predictions are then compared against the actual values to assess performance. Model Evaluation: Visual: Evaluation metrics are listed, including MCC (Matthews Correlation Coefficient), Specificity, Sensitivity, Accuracy for classification tasks, and RMSE (Root Mean Square Error), R², MSE (Mean Squared Error) for regression tasks. Description: The model’s performance is evaluated using appropriate metrics based on the type of problem (classification or regression). These metrics help determine how well the model has learned and how accurately it can make predictions on new data.
Machine Learning Model Development
Explore top LinkedIn content from expert professionals.
Summary
Machine learning model development is the structured process of turning raw data and business questions into predictive software that can make decisions or forecasts. This journey involves collecting data, building and testing models, deploying them into real-world systems, and monitoring their ongoing performance to ensure business value.
- Start with problem clarity: Clearly define the business goal and ensure your data is reliable and relevant before jumping into model training.
- Build and iterate: Begin with simple models and improve them step by step, always using proper validation and tracking your experiments.
- Plan for production: Consider deployment needs, monitoring, and maintenance so your model continues working well and delivers real benefits after launch.
-
-
Machine learning applications rarely stay static—they evolve. What begins as a simple baseline often grows into a multi-stage system shaped by scale, data complexity, and real-world constraints. In this tech blog, the engineering team at Shopify explains how their product classification system evolved as the platform scaled. The journey unfolds across three distinct stages, each with its own technical character. - Stage one focused on a traditional machine learning baseline: logistic regression with TF-IDF features built purely on product text. It was simple, interpretable, and efficient—a practical starting point. - Stage two introduced a multimodal approach, combining both text and image signals within a single model. This significantly improved accuracy, especially when product descriptions were incomplete or ambiguous. However, it remained largely a task-specific classifier trained on a fixed taxonomy. - Stage three marked a shift toward vision-language models. Instead of simply mapping inputs to predefined labels, these models learn richer semantic representations by aligning images and text in a shared embedding space. This enables deeper product understanding and better generalization as taxonomies evolve and new product types emerge. The key takeaway is that real-world machine learning systems mature in layers. You don’t jump straight to the most sophisticated model. Instead, you iterate—balancing accuracy with scalability—and design systems that can adapt as the business grows. #DataScience #MachineLearning #Classification #Evolution #Iteration #SnacksWeeklyonDataScience – – – Check out the "Snacks Weekly on Data Science" podcast and subscribe, where I explain in more detail the concepts discussed in this and future posts: -- Spotify: https://lnkd.in/gKgaMvbh -- Apple Podcast: https://lnkd.in/gFYvfB8V -- Youtube: https://lnkd.in/gcwPeBmR https://lnkd.in/gYuU_dNT
-
It took me 2 weeks to build my ML model and 4 MONTHS to put it into production… This is the reality of Data Science that no bootcamp prepares you for :) The first 2 weeks were glorious. I pulled the data, cleaned it (though it was in bad shape but I eventually did it), ran a few experiments in a Jupyter Notebook, and boom— got 82% accuracy (more than what stakeholders asked for to go live). Great, I was happy. I showed the results to the stakeholders. They were happy too (rare)!! They asked When can we go live? I said, "Give me a month to wrap it up." I was very wrong. I wasn't "wrapping it up." I was just getting started. Here is what I spent the next 4 months doing: Latency: The model worked great in a notebook, but it was too slow for real-time API requests. We had to optimize the inference time. Data Pipelines: My "cleaning script" was manual. We had to rewrite it into an automated Airflow DAG that could handle dirty, streaming data without crashing. Environment Hell: "It works on my machine" didn't mean it worked on the server (that too on a multi server setup behind a load balancer which all had to be setup manually btw since it was an internal application). Monitoring: We needed to build a system to alert us if the data drifted, the model started predicting garbage, feedbacks were negative etc. Compliance: Security reviews, API authentication. This is THE WORST, trust me!! Retraining: One of the biggest challenges, took WEEKS to come up with a good retraining logic and translating that to a scheduled script. I learned a hard lesson. The Machine Learning code is only about 5% of a Machine Learning System, the other 95% is what I call a Glue Code. Configuration, Data Collection, Serving Infrastructure, Monitoring, and Resource Management are the real world challenges which leads to a finished product. And THIS is exactly what experience gives you!! A model in a Notebook is a Prototype. A model in Production is a Software. And turning a Prototype into Software is where the real engineering happens :) What are the biggest challenges that you have faced in your pilot to production journey? How much time does it take for you to go live? Would love to hear it in the comments!
-
90% of ML projects never make it to production. Here's the 8-step framework that works. 𝐒𝐭𝐞𝐩 𝟏: 𝐃𝐞𝐟𝐢𝐧𝐞 𝐭𝐡𝐞 𝐁𝐮𝐬𝐢𝐧𝐞𝐬𝐬 𝐏𝐫𝐨𝐛𝐥𝐞𝐦 ↳ Start with WHY, not HOW ↳ Is ML even the right solution? ↳ Define success criteria upfront 𝐒𝐭𝐞𝐩 𝟐: 𝐃𝐚𝐭𝐚 𝐂𝐨𝐥𝐥𝐞𝐜𝐭𝐢𝐨�� & 𝐄𝐱𝐩𝐥𝐨𝐫𝐚𝐭𝐢𝐨𝐧 ↳ Check data quality: missing values, duplicates, outliers ↳ EDA: distributions, correlations, patterns ↳ Document your data sources and limitations 𝐒𝐭𝐞𝐩 𝟑: 𝐅𝐞𝐚𝐭𝐮𝐫𝐞 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫𝐢𝐧𝐠 ↳ Handle missing values (imputation, dropping) ↳ Encode categorical variables ↳ Create new features from domain knowledge ↳ This alone can improve performance by 20-30% 𝐒𝐭𝐞𝐩 𝟒: 𝐓𝐫𝐚𝐢𝐧-𝐓𝐞𝐬𝐭 𝐒𝐩𝐥𝐢𝐭 & 𝐕𝐚𝐥𝐢𝐝𝐚𝐭𝐢𝐨𝐧 ↳ Split: 70% train, 15% validation, 15% test ↳ Use stratified split for imbalanced data ↳ Never touch test data until final evaluation 𝐒𝐭𝐞𝐩 𝟓: 𝐌𝐨𝐝𝐞𝐥 𝐒𝐞𝐥𝐞𝐜𝐭𝐢𝐨𝐧 & 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 ↳ Start simple (logistic regression, decision tree) ↳ Try XGBoost, LightGBM, Random Forest ↳ Track experiments with MLflow or W&B 𝐒𝐭𝐞𝐩 𝟔: 𝐌𝐨𝐝𝐞𝐥 𝐄𝐯𝐚𝐥𝐮𝐚𝐭𝐢𝐨𝐧 ↳ Use appropriate metrics (F1, ROC-AUC, RMSE) ↳ Analyze errors: confusion matrix, feature importance ↳ Does 85% accuracy actually solve the business problem? 𝐒𝐭𝐞𝐩 𝟕: 𝐃𝐞𝐩𝐥𝐨𝐲𝐦𝐞𝐧𝐭 ↳ Build API endpoint (FastAPI, Flask) ↳ Containerize with Docker ↳ Deploy to cloud (AWS, GCP, Azure) 𝐒𝐭𝐞𝐩 𝟖: 𝐌𝐨𝐧𝐢𝐭𝐨𝐫𝐢𝐧𝐠 & 𝐌𝐚𝐢𝐧𝐭𝐞𝐧𝐚𝐧𝐜𝐞 ↳ Track prediction accuracy over time ↳ Monitor for data drift and concept drift ↳ Retrain periodically with fresh data 𝐂𝐨𝐦𝐦𝐨𝐧 𝐏𝐢𝐭𝐟𝐚𝐥𝐥𝐬 𝐭𝐨 𝐀𝐯𝐨𝐢𝐝: ❌ Data leakage (using future info to predict past) ❌ Ignoring class imbalance ❌ Deploying without monitoring ❌ Optimizing metrics without business context 𝐏𝐫𝐨 𝐭𝐢𝐩: Your first end-to-end project will be messy, that's normal. Focus on completing the full cycle, then iterate. 𝐖𝐚𝐧𝐭 𝐭𝐨 𝐬𝐭𝐚𝐫𝐭 𝐥𝐞𝐚𝐫𝐧𝐢𝐧𝐠 𝐌𝐋? Here are 5 resources I recommend: 1. Machine Learning by Andrew Ng - https://lnkd.in/diqSeD-k 2. Codebasics ML Playlist - https://lnkd.in/dBiYAeN7 3. Krish Naik ML Playlist - https://lnkd.in/dcpAS5gA 4. StatQuest with Joshua Starmer - https://lnkd.in/dhZ3aVhf 5. Sentdex ML Tutorials - https://lnkd.in/dCFPtDv8 Which step do you find most challenging? 👇 ♻️ Repost to help someone starting their ML journey
-
How do you get from an idea to a Machine Learning product? While many view machine learning as simply training models with Python code, the reality is far more complex and structured The ML development process is a systematic journey from business problem to deployed solution, requiring careful consideration at each stage to ensure technical delivery leads to business value. Here's the lifecycle broken down: 𝟭. 🔎 𝗠𝗼𝗱𝗲𝗹 𝗦𝗰𝗼𝗽𝗶𝗻𝗴 & 𝗗𝗮𝘁𝗮 𝗙𝗼𝘂𝗻𝗱𝗮𝘁𝗶𝗼𝗻𝘀 Set the foundation for success by defining clear objectives and ensuring data readiness Problem Definition – Define clear business problems and figure out the use case for ML Data Sourcing & Considerations – Consider data accessibility, regulatory requirements and permissions Data Ingestion – Establish reliable data pipelines that feed your model Data Preparation – Transform raw data into clean, analysis-ready formats through pipelines Exploratory Data Analysis – Conduct exploratory analysis to understand patterns before modelling 𝟮. 🧠 𝗠𝗼𝗱𝗲𝗹 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁 Build a functioning machine learning model based on your prepared data while factoring in reproducibility and performance Feature Engineering – Convert raw data into meaningful features your model can actually use Model Selection – Test multiple algorithmic approaches against your constraints Baseline Model Development – Develop simple baseline models before investing in complexity Version Control – Implement version control for code, data, AND experiments Model Training – Train models through constant iteration and cross-validation 𝟯. 🚀 𝗠𝗼𝗱𝗲𝗹 𝗗𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁 Bringing the model to production so it can deliver value throughout the organisation Model Evaluation & Validation – Validate performance through comprehensive testing frameworks Model Serialization & Packaging – Serialize and package models with all dependencies Resource Planning – Plan computational resources and scaling strategies Deployment Architecture Planning – Design deployment architecture considering reproducibility Business Integration – Integrate with business systems through well-designed APIs Model Registry – Maintain a registry of all model versions and metadata 𝟰. 🔄 𝗠𝗮𝗶𝗻𝘁𝗲𝗻𝗮𝗻𝗰𝗲 Ensures your deployed model continues to perform effectively over time and learn from new data Feedback Loops & Continuous Learning – Establish feedback loops to capture user interactions, helping build future model iterations Performance Tracking – Track business impact alongside operational costs to identify value creation Model Monitoring & Observability – Monitor for data drift and model degradation Check out my latest article on productionising a Machine Learning model (link in the comments) and let me know what you think!
-
𝗛𝗼𝘄 𝘁𝗼 𝗕𝘂𝗶𝗹𝗱 𝗬𝗼𝘂𝗿 𝗙𝗶𝗿𝘀𝘁 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗠𝗼𝗱𝗲𝗹 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗳𝗲𝗲𝗹𝘀 𝗰𝗼𝗺𝗽𝗹𝗲𝘅? 𝗟𝗲𝘁’𝘀 𝗯𝗿𝗲𝗮𝗸 𝗶𝘁 𝗱𝗼𝘄𝗻. ➊ 𝗖𝗵𝗼𝗼𝘀𝗲 𝗮 𝗣𝗿𝗼𝗯𝗹𝗲𝗺 𝘁𝗼 𝗦𝗼𝗹𝘃𝗲 ➝ Regression → Predict continuous values (e.g., house prices, stock prices) ➝ Classification → Predict categories (e.g., spam detection, fraud detection) ➝ Clustering → Group similar data points (e.g., customer segmentation) ➋ 𝗙𝗶𝗻𝗱 𝗮𝗻𝗱 𝗣𝗿𝗲𝗽𝗮𝗿𝗲 𝗗𝗮𝘁𝗮 Where to find datasets? ➝ Kaggle → https://lnkd.in/gEMWyRec ➝ Google Dataset Search → https://lnkd.in/dQ3PDePZ 𝗗𝗮𝘁𝗮 𝗖𝗹𝗲𝗮𝗻𝗶𝗻𝗴 & 𝗣𝗿𝗲𝗽𝗿𝗼𝗰𝗲𝘀𝘀𝗶𝗻𝗴 ✔ Handle missing values → Remove or fill missing data ✔ Convert categorical data → Use one-hot encoding or label encoding ✔ Normalize/standardize numerical features → Helps improve performance ➌ 𝗖𝗵𝗼𝗼𝘀𝗲 𝗮 𝗠𝗼𝗱𝗲𝗹 Start with simple models before moving to advanced techniques. ➝ Linear Regression → Predict continuous values ➝ Logistic Regression → Binary classification problems ➝ Decision Trees & Random Forest → Good for structured data ➝ K-Nearest Neighbors (KNN) → Classification & Regression ➍ 𝗦𝗽𝗹𝗶𝘁 𝗮𝗻𝗱 𝗧𝗿𝗮𝗶𝗻 𝗬𝗼𝘂𝗿 𝗠𝗼𝗱𝗲𝗹 Split the dataset into training and testing sets. from sklearn.model_selection import train_test_split # Define features and target variable X = data[['sqft_living', 'bedrooms', 'bathrooms']] # Features y = data['price'] # Target # Split into 80% training, 20% testing X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) Why split? We train the model on 80% of the data and test it on the remaining 20% to measure performance. ➎ 𝗧𝗿𝗮𝗶𝗻 𝘁𝗵𝗲 𝗠𝗼𝗱𝗲𝗹 Now, let’s train our first Linear Regression model! from sklearn.linear_model import LinearRegression # Initialize model model = LinearRegression() # Train the model model.fit(X_train, y_train) # Make predictions y_pred = model.predict(X_test) ➏ 𝗘𝘃𝗮𝗹𝘂𝗮𝘁𝗲 𝗠𝗼𝗱𝗲𝗹 𝗣𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 How good is our model? Use evaluation metrics: ➝ Mean Absolute Error (MAE) → Measures average error ➝ Mean Squared Error (MSE) → Penalizes larger errors ➝ R² Score → Measures how well the model explains variance ➐ 𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝗬𝗼𝘂𝗿 𝗠𝗼𝗱𝗲𝗹 Your first model is never perfect! Improve it by: ➝ Feature Engineering → Add more useful features ➝ Hyperparameter Tuning → Optimize model parameters ➝ Try Different Models → Experiment with Decision Trees, Neural Networks, etc. ➑ 𝗙𝗿𝗲𝗲 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 𝘁𝗼 𝗟𝗲𝗮𝗿𝗻 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 ➝ Stanford CS229 (Machine Learning) → cs229.stanford.edu ➝ MIT OpenCourseWare (AI & ML) → ocw.mit.edu ➝ Fast.ai Free Course → course.fast.ai ---- 📕 400+ 𝗗𝗮𝘁𝗮 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀: https://lnkd.in/gv9yvfdd 📘 𝗣𝗿𝗲𝗺𝗶𝘂𝗺 𝗗𝗮𝘁𝗮 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗥𝗲𝘀𝗼𝘂𝗿𝗰𝗲𝘀 : https://lnkd.in/gPrWQ8is 📸: Ravit
-
What does an 𝗘𝗳𝗳𝗲𝗰𝘁𝗶𝘃𝗲 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗘𝘅𝗽𝗲𝗿𝗶𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 𝗘𝗻𝘃𝗶𝗿𝗼𝗻𝗺𝗲𝗻𝘁 look like? MLOps practices are there to improve Machine Learning Product development velocity, the biggest bottlenecks happen when Experimentation Environments and other infrastructure elements are integrated poorly. Let’s look into the properties that an effective Experimentation Environment should have. As a MLOps engineer you should strive to provide these to your users and as a Data Scientist, you should know what you should be demanding for. 𝟭: Access to the raw data. While handling raw data is the responsibility of Data Engineering function, Data Scientists need the ability to explore and analyze available raw data and decide which of it needs to be moved upstream the Data Value Chain (2.1). 𝟮: Access to the curated data. Curated data might be available in the Data Warehouse but not exposed via a Feature Store. Such Data should not be exposed for model training in production environments. Data Scientists need the ability to explore curated data and see what needs to be pushed downstream (3.1). 𝟯: Data used for training of Machine Learning models should be sourced from a Feature Store if the ML Training pipeline is ready to be moved to the production stage. 𝟰: Data Scientists should be able to easily spin up different types of compute clusters - might it be Spark, Dask or any other technology - to allow effective Raw and Curated Data exploration. 𝟱: Data Scientists should be able to spin up a production like remote Machine Learning Training pipeline in development environment ad-hoc from the Notebook, this increases speed of iteration significantly. 𝟲: There should be an automated setup in place that would perform the testing and promotion to a higher env when a specific set of Pull Requests are created. E.g. a PR from feature/* to release/* branch could trigger a CI/CD process to test and deploy the ML Pipeline to a pre-prod environment. 𝟳: Notebooks and any additional boilerplate code for CI/CD should be part of your Git integration. Make it crystal clear where a certain type of code should live - a popular way to do this is providing repository templates with clear documentation. 𝟴: Experiment/Model Tracking System should be exposed to both local and remote pipelines. 𝟗: Notebooks have to be running in the same environment that your production code will run in. Incompatible dependencies should not cause problems when porting applications to production. It can be achieved by running Notebooks in containers. Did I miss something? 👇 #GenAI #LLM #LLMOps #MachineLearning
-
How does a machine learning architecture looks like? Check out the eight key components! Machine learning architecture is the blueprint for building and deploying machine learning models. It defines how data is processed, models are trained and evaluated, and predictions are made. Here is a simplified breakdown of the eight key components of machine learning architecture: 1. Task Orchestration This component manages the flow of data and tasks throughout the machine learning workflow. It ensures that all the necessary steps are completed in the correct order and that resources are allocated efficiently 2. Training This is where machine learning models are created and taught to perform a specific task. Models are trained on large datasets of examples, and they learn to identify patterns in the data 3. Prediction Once a model is trained, it can be used to make predictions on new data. For example, a model trained to classify images could be used to predict the type of object in a new image 4. Feature Engineering Pipeline This component prepares data for model training. It involves transforming raw data into meaningful features that models can understand and use to make predictions 5. Interaction This component defines how models interact with users and other systems. For example, a model deployed in a web application might receive user input and generate predictions in response 6. Evaluation This component assesses the performance of machine learning models and identifies areas for improvement. Models are evaluated on held-out test data to see how well they generalize to new data. 7. Data Collection Machine learning models are only as good as the data they are trained on. This component ensures that high-quality data is collected and stored for model training and evaluation 8. Data Generation In some cases, it may be difficult or expensive to collect real-world data for model training. This component involves generating synthetic data that is similar to real-world data What would you like to add?
-
The field of Machine Learning (ML) Engineering is where both data and model algorithms meet. We must ensure that every component works appropriately to maintain the model's values. Here are a few components from ML Engineering you need to know: 📊 Data Pipeline: A robust data pipeline is required to ensure the data is clean, validated, and appropriate for the ML. 🔧 Machine Learning Pipeline: We use feature engineering and hyperparameter tuning in the ML pipeline to develop predictive and efficient models. The iterative training and testing process is fundamental to refining the model's performance. 👁️ Monitoring & Logging: The deployed model means we must monitor and log them. This is to maintain and improve the model's performance over time to adapt to new data and conditions. 💻 Software Code Pipeline: A solid software code pipeline supports ML development. This includes adopting good coding practices, code versioning, and integration testing. This is required for stable deployment to production. To learn more about Machine Learning Engineering, here are some free resources you can take: 1. The Full Stack Deep Learning course: https://lnkd.in/g_mpGpH3 2. Machine Learning Engineering by Andriy Burkov: https://www.mlebook.com/ 3. Awesome MLOps: https://lnkd.in/giW3dZyU 4. Awesome Production Machine Learning: https://lnkd.in/gVxdknqj 5. My Newsletter that would cover the topic: https://lnkd.in/gg69EnG I'd be interested to hear from others in the field—how do you approach the ML engineering process, and what best practices do you follow to ensure the robust model is there?
-
How do you ensure that your machine learning projects drive real business impact? The Machine Learning Life Cycle is a comprehensive journey, from defining clear project objectives to maintaining models post-deployment. It all starts with identifying business problems, acquiring the right subject matter expertise, and carefully considering the risks and success criteria before moving forward. The next step, Acquiring & Exploring Data, is crucial—merging data, performing exploratory data analysis, and engineering features to ensure the data is clean and ready for modeling. Once the data is prepared, it's time to Model Data by selecting the right variables, building candidate models, and rigorously validating them to choose the best fit for the problem at hand. But the work doesn’t stop there. Interpreting & Communicating the model’s results effectively to stakeholders ensures that insights are actionable and understandable. Finally, Implementing, Documenting, and Maintaining the model guarantees that it continues to deliver value over time, with a clear plan for monitoring and updates. #data #machinelearning #theravitshow