What is TensorHouse?
TensorHouse is a collection of reference Jupyter notebooks and demo AI/ML applications for enterprise use cases: marketing, pricing, supply chain, smart manufacturing, and more. The goal of the project is to provide a toolkit for rapid readiness assessment, exploratory data analysis, and prototyping of various modeling approaches for typical enterprise AI/ML/data science projects.
TensorHouse provides the following resources:
- A well-documented repository of reference notebooks and demo applications (prototypes).
- Readiness assessment and requirement gathering questionnaires for typical enterprise AI/ML projects.
- Datasets, data generators, and simulators for rapid prototyping and model evaluation.
TensorHouse focuses mainly on industry-proven solutions that leverage deep learning, reinforcement learning, and casual inference methods and models. Most of these solutions were originally developed either by industry practitioners or by academic researchers who worked in collaboration with leading companies in technology, retail, manufacturing, and other sectors.
How Does TensorHouse Help?
TensorHouse helps to accelerate the following steps of the solution development:
- Faster evaluate readiness for specific use cases from the data, integration, and process perspectives using questionnaires and casual inference templates.
- Choose candidate methods and models for solving your use cases, evaluate and tailor them using simulators and sample datasets.
- Evaluate candidate methods and models on your data, build prototypes, and present preliminary results to stakeholders.
What Libs Does TensorHouse Use?
All prototypes and template are implemented in Python using a limited set of standard libraries:
- Deep learning: mostly
TensorFlow, some prototypes use PyTorch
- Reinforcement learning:
RLlib
- Causal inference:
DoWhy, EconML
- Probabilistic programming / Bayesian inference:
PyMC
- Generative AI:
LangChain
- Traditional ML:
statsmodels, scikit-learn, LightGBM
- Basic libs:
NumPy, pandas, matplotlib, seaborn
Illustrative Examples
Strategic price optimization using reinforcement learning
DQN learns a Hi-Lo pricing policy that switches between regular and discounted prices:
Supply chain optimization using reinforcement learning
DQN learns how to control procurement and logistics in a simulated environment:
Supply chain management using large language models
LLM dynamically writes a python script that invokes multiple APIs to answer user's question:
Anomaly detection in images using autoencoders
Deep autoencoders produce image reconstructions that facilitate detection of defect locations:
List of Prototypes and Templates
The artifacts listed in this section can help to rapidly evaluate different solution approaches and build prototypes using your datasets. Artifacts are marked with the following qualifiers:
- 🧪 - artifacts that are particularly suitable for exploratory data analysis, evaluating the strength of causal effects in your data, and determining whether these data is feasible for solving a certain use case or not
- 🚀 - conceptual prototypes that use advanced methods and not necessarily suitable for productization
- 📚 - notebooks that demonstrate basic algorithms and intended mainly for educational purposes
Promotions, Offers, and Advertisements
These notebooks can be used to analyze the behavior of individual customers, calculate customer propensity (affinity) scores, and personalize offers, content, or digital experience.
- Customer Scoring and Lifetime Value
- Customer Propensity Scoring Using Deep Learning (LSTM with Attention) (notebook)
- Customer-level Uplift Modeling Based On Observational Data Using Causal Inference (notebook) (🧪)
- Customer Lifetime Value (LTV) Estimation Using Markov Chains (notebook)
- Customer Lifetime Value (LTV) Estimation Using Bayesian Buy-Till-You-Die (BTYD) Model (notebook)
- Decision Automation
- Dynamic Content Personalization Using Contextual Bandits (LinUCB) (notebook)
- Next Best Action Model Using Reinforcement Learning (Fitted Q Iteration) (notebook)
Marketing, Customer, and Content Analytics
The notebooks can be used to perform aggregated analysis of the customer population or segments, get insights from user-generated content, and optimize marketing budgets.
- Content Analytics
- Sentiment Analysis Using Basic Transformers (notebook)
- Virtual Focus Groups Using LLMs (notebook)
- Customer Behavior Analytics and Embeddings
- Recency, Frequency, and Monetary Value (RFM) Analysis of Customer Purchases (notebook) (🧪)
- Analysis of Customer Behavior Patterns Using LSTM/Transformers (notebook)
- Item2Vec Using Word2vec (notebook)
- Customer2Vec Using Doc2vec (notebooks: simulator, prototype)
- Media Mix, Attribution, and Budget Optimization
- Campaign Effect Estimation In Observational Data Using Causal Inference (notebook) (🧪)
- Media Mix Modeling: Adstock Model for Campaign/Channel Attribution (notebook)
- Media Mix Modeling: Bayesian Model with Carryover and Saturation Effects (notebook) (🧪)
- Multitouch Channel Attribution Model Using Deep Learning (LSTM with Attention) (notebook)
Search
These notebooks can be used to create enterprise search, product catalog search, and visual search solutions.
- Text Search
- Latent Semantic Analysis (LSA) (notebook) (📚)
- Retrieval-augmented Generation (RAG) Using LLMs (notebook)
- Visual Search
- Visual Search by Artistic Style (VGG16) (notebook)
- Visual Search Based on Product Type (EfficientNetB0) (notebook)
- Visual Search Using Variational Autoencoders (notebook)
- Image Search Using a Language-Image Model (CLIP) (notebook)
- Structured Data Search
- Relational Data Querying Using LLMs (notebook)
- Data Preprocessing
- Product Attribute Discovery, Extraction, and Harmonization Using LLMs (notebook)
Recommendations
These notebooks can be used to prototype product recommendation solutions.
- Basic Collaborative Filtering
- Nearest Neighbor User-based Collaborative Filtering (notebook) (📚)
- Nearest Neighbor Item-based Collaborative Filtering (notebook) (📚)
- Deep and Hybrid Recommenders
- Neural Collaborative Filtering - Prototype (notebook) (📚)
- Neural Collaborative Filtering - Hybrid Recommender (notebook)
- Behavior Sequence Transformer (notebook)
- Graph Recommender Using Node2Vec (notebook)
Demand Forecasting
These notebooks can be used to create demand and sales forecasting pipelines. These pipelines can further be used to solve inventory planning, price management, workforce optimization, and financial planning use cases.
- Traditional Methods
- Demand Forecasting for a Single Entity Using Exponential Smoothing (ETS) (notebook)
- Demand Forecasting for a Single Entity Using Autoregression (ARIMA/SARIMAX) (notebook)
- Demand Forecasting and Price Effect Estimation for Multiple Entities Using Generalized Linear Models (notebook) (🧪)
- Deep Learning Methods
- Demand Forecasting for Multiple Entities Using DeepAR (notebook)
- Demand Forecasting for a Single Entity Using NeuralProphet (notebook)
- Dynamic Learning
- Data Preprocessing