Graph-powered BI

The first generation of business intelligence tools focused on reporting and OLAP cubes, which organised and analysed historical financial, sales, and manufacturing data. Despite being extremely useful, it only provides a backwards view of the world.

Second-generation business intelligence was all about real-time, allowing executives to view timely data while quickly adjusting and interacting with such views. This is where we are now, gradually.

Third-generation business intelligence, rather than just historical enterprise data, will generate data and analytics for decision-making based on the qualitative (real) world, such as finance sentiment, economics, and social information such as what key leaders have said in the past and present. It would be fantastic if we could link this data.

The next generation of BI will most likely have integration of these two components;

  • Enrichment – the ability to contextualise internal business data by enriching it with external “intelligence”;
  • Correlation – identifies relationships between internal and external data/logs.

A knowledge graph is a database that contains information about people, places, things, and events. It’s similar to a map that shows how things are related to one another. It facilitates us in comprehending the relationships between various entities in the real world. It can be used to power applications like dashboards, reports, and scorecards in business analytics.

The goal is to comprehend the world around us in a broader and more interconnected manner.

Build your own image dataset from search engine

Finding or getting the right dataset is painful process. Here’s an idea : let’s scrape images from search engine.

A combination of category and variations would pull series of queries to wrest images from the search engine, before downloading an image from an URL.  Source code that scrapes close to 1M of images overnight (I do not own the code, however, I think it is very useful). Really helpful to getting train sets for the classifier.

The pipeline of developing dataset. Original diagram by D Grossman.

Read the details from the original post.

WordPress : Battling with the White screen of death

Updating a deaf theme (no within-panel update) should be easy job.

Just upload, renaming folder for transition, and hit refresh.

Blank screen. ?

Nav to /wp-admin. Here is also white screen. And I had no backup!

I made mistake today. I accidentally renamed theme folder without deactivate the current theme first. The upshot? White screen of death. My friend Aqeel is on his way for an appointment for the project, possibly asking for collaboration for the website. And yet I updating the website.

The problem was, I hosted WordPress, naked, on DigitalOcean; with no cpanel, no PhpMyAdmin etc – putting more cream to challenges.

I learnt something. I also learnt there’s no clear way solution were found.

Here’s the way to solve this.

  1. Check the current_theme values on by accessing your database on wp_options. WordPress has fail-safe mechanism for this – if your current theme has problem, it will fall to another theme for that matter.
  2. Rename the intended theme as temporary name in wp-content. For example tweentyseventeen_new.
  3. This way, WordPress should load as it should because fail-safe exceptions are passed.
  4. If you’re lucky you will see your dashboard. Now change the theme. Fixed.
  5. If not working, rename plugins folder temporarily to disable all plugins. Repeat step one.

Moral of the story; do not maintain anything without backup.

GitHub + Jupyter Notebooks = <3

I found new love! It’s everything in a box called; Jupyter (later version of iPython Notebook).

This is my first push a notebook to github. It automagically rendered into glory in Github. Made show-and-tell swifter with Markdown support.

Check this out!

Looking to get started? Simply commit a .ipynb file to a new or existing repository to view the rendered notebook. Alternatively if you’re looking for some inspiration then check out this incredible gallery of Jupyter notebooks.

I couldn’t afford Siraj Raval’s deep learning Udacity course. So, I curated his Youtube content instead.

It is sad. Because I can’t afford this £300 course, I could if the deadline did not fall this week. The course enrolment is ended today (20 Jan 2017), but if Udacity extends the deadline until next week, I’d certainly able to do that. Sadly, this is probably a one-time thing only at Udacity.

Who don’t know Siraj RavalHe is computer science version of Neville Medhora. He is one of the best youtuber in education — engaging, hilarious, non-BS style of teaching. Everyone loves him.

Anyway, based on the landing page — I notice most of the curriculum are resemblance with the content on YouTube. I haven’t watch everything yet, but, I know this is the closest equivalent what Udemy offers. So, I spent sometime to make this list;

It can’t be as complete as the course. This is the closest I could collect.

WEEK 1 Types of Machine Learning and when to use Machine Learning

Live Session: Linear regression from scratch

WEEK 2 Neural Network Architecture and Types

Live Session: Numerical classification from scratch
I assume this is basic classification. Siraj would probably feed data from classical csv, I don’t know.

WEEK 3 Cloud Computing and Sentiment Analysis

Live Session: Sentiment analysis from scratch and cloud computing detailed instruction

Sentiment :

Sentiment 2 :

WEEK 4 Math Notation and Recommender Systems

Live Session: Various math examples and recommender system from scratch

WEEK 5 Data preparation (cleaning, regularization, dimensionality reduction)

Live Session: Data prep from scratch

WEEK 6 Drone Image Tracking

Live Session: Image classification from scratch

WEEK 7 Prediction

Live Session: Stock Prediction from scratch

WEEK 8 Art Generation

Live Session: Artistic Style transfer from scratch

WEEK 9 Music Generation (LSTMs applied to Audio)

Live Session: Generating music from scratch

WEEK 10 Poetry Generation (LSTMs applied to NLP)

Live Session: Text generation from scratch
This is the closest with Poetry generation, using HMM.

WEEK 11 Language translation (sequence to sequence)

Live Session: Language Translation from scratch
Unfortunately, I can’t any topic on this on Sirajology. Hopefully, he will do this topic in the near future.

WEEK 12 Chatbot QA System with Voice

Live Session: Chatbot from scratch

A Tensorflow chatbot!

WEEK 13 Game Bot 2D (reinforcement learning via Monte-Carlo tree search)

Live Session: Game bot from scratch
There are many videos falls into this topic. Apparently, it is the most popular topic in Sirajology. Hence, I made a playlist.

WEEK 14 Image Compression

Live Session: Autoencoder from scratch

WEEK 15 Data Visualization

Live Session: Data visualization from scratch

WEEK 16 Image Generation

Live Session: Generative adversarial network from scratch

WEEK 17 One-shot Learning (Probabilistic Programming)

Live Session: One shot learning from scratch

All these are good supplementary prior to the course, I think. It’s still fundamental compared to a full fledge course with expert support. To Siraj Raval, I hope this post does not making you unconfortable. If it does, just let me know and I will remove it.

I would love to learn NN and GAN from Siraj (and also LSTM and Recurrent net to build translation chatbot into my native language?). However, I don’t have money because students like me are broke and don’t own much money.