Wednesday, 29 August 2018

Another Baby!

On Tuesday 28th August 2018 at around 5:00pm, our daughter came to this world! Thank God for everything and for Joyce!

Thursday, 7 May 2015

Uganda's Mothers' index

Having been blessed with a baby born in Uganda one month ago, i took time to go through some statistics concerning Uganda's maternal status. The figures are really alarming and a successful birth in Uganda and several African countries is surely by God's grace.

Lifetime risk of maternal death: 1 in 44
Under-5 mortality rate (per 1,000 live births): 66.1
Expected number of years of formal schooling: 9.8
Gross national income per capita: 550 US $
Mother's index rank: 141/179

These should not be taken for granted! Developing countries have to address this seriously. Why would someone risk their life after taking into consideration these numbers? No wonder our leader's descendants have to be born elsewhere! No No No and No. God bless us.


Source: Save the Children Website

Sunday, 26 April 2015

A Baby!

I should have posted this earlier. On Tuesday 7th 2015 (a day after Easter Monday) at around 1:00pm our son Ethan Nabende came to this world! Thank God for everything and for Joyce!

Data mining specialization on coursera

I am currently pursuing a data mining specialization on coursera.
I have utilized the first module for my data mining and datawarehousing class; i have played role of tutorial assistant and i recommend it to any one. i should be through with two modules soon.

Sunday, 21 December 2014

on Statistical Machine Translation

Statistical Machine Translation is one of my main research interests. To that end, I achieved the rite of passage through the MOSES Phrase-based statistical machine translation software setup. which means that i can use Moses software to build a French to English translation system. I am now aiming to construct statistical translation systems based on MOSES that can be used to translate between Ugandan languages and English. There is already reasonable progress concerning Luganda -> English (not by me). Before anything can be done for other languages, huge amounts of parallel sentences (translations between two languages) are needed that can be used to start constructing translation models that can be used to produce reasonable translations. To sum it all, parallel sentences are very important for statistical machine translation; for languages that are yet to be looked at, language -specific software for pre-processing the sentences before they are used to build translation models are  very critical.

Saturday, 18 October 2014

Web Engineering

This week i began teaching Web engineering methods. I am surprised that they are many and have implementations that automate them! This post is aimed at helping me to record these wonderful methods and their implementations.

1. Object-oriented Web Solutions [based on the OO Method and implemented by OlivaNova (commercial tool)]

Monday, 7 July 2014

Bar plots and histograms in R

Last week i had to analyse some data and present some statistics about it. In order to make my statistical presentation fanciful, i needed to plot statistical distributions in either bar plots or histograms. I know Microsoft Excel can do the job here. But I desired to have this done using the R statistical package. And this is how it went:

Data entry

The first step is to have the data that will be used to generate the plots. In R, data can be entered manually, or can be imported. For very small data sets, I preferred to enter the data manually. But it is often the case that we have to generate plots for large data sets. But in both cases, one requirement is that this data has to be captured in a specific data structure like a vector (which is the simplest case) or matrix.

Initially my first attempt was to plot a histogram but this turned out to be very confusing whereas the bar plots were relatively easier to implement.

Bar Plots

Manual Process

Consider some frequencies for 10 interval ranges between 0 to 100%
0-9:  2
10-19:  4
20-29:  8
30-39:  18
40-49:  30
50-59:  50
60-69:  40
70-79:  28
80-89:  15
90-100:  5

Now a bar plot would be suitable in this case. The idea is to plot the ranges horizontally and the frequencies vertically. So what you need to do here is to put the frequencies in a vector (call it freqs). This is how it goes in R:

R-prompt> freqs -> c(2, 4, 8, 18, 30, 50, 40, 28, 15, 5)

Then you specify the ranges for the horizontal axis:

R-prompt> names(freqs) -> c("0-9", "10-19", "20-29", "30-39", "40-49", "50-59", "60-69", "70-79", "80-89", "90-100")

And finally do the plot:

R-prompt> barplot(freqs, xlab="range", ylab="frequency")