Decompose, Pattern, Algorithm: Logic Training for Bangkok International Students
Bangkok international-school families benefit from transferable logic skills—not only coding syntax. Enquire WhatsApp +92 322 4217059. No fabricated Bangkok campus.
Computational thinking classes for international school kids in Bangkok teach pattern recognition, decomposition and algorithmic design through puzzles, visual coding challenges and mentor feedback—in English.

After cleaning and scaling, two issues still hurt many models: skewed distributions and extreme outliers. Transformation reshapes continuous columns so they are more stable for learning.
Right or left tails break the near-normal assumption of many linear methods. Common fixes: log, Box-Cox (positive only), Yeo-Johnson (handles zeros/negatives).
import numpy as np
import pandas as pd
df = pd.read_csv("telecom_churn.csv")
print(df[["Monthly Income", "Monthly Bill"]].describe())
df["Income_Log"] = np.log1p(df["Monthly Income"])
print(df[["Monthly Income", "Income_Log"]].head())
np.log1p computes \(\log(1+x)\), safe when zeros appear. Large incomes compress into a tighter, more centered range.
Extreme points pull error-driven models off the main pattern. Two practical treatments keep rows but limit leverage: clipping and winsorization.
upper_limit = df["Monthly Bill"].quantile(0.99)
df["Bill_Clipped"] = df["Monthly Bill"].clip(upper=upper_limit)
print(df["Bill_Clipped"].max(), df["Bill_Clipped"].min())
Values above the 99th percentile are capped at that threshold (e.g. max drops from ~$35k toward ~$21.7k in the example).
from scipy.stats.mstats import winsorize
df["Bill_Winsorized"] = winsorize(
df["Monthly Bill"],
limits=[0.01, 0.01]
)
print(df["Bill_Winsorized"].max(), df["Bill_Winsorized"].min())
Bottom/top 1% are replaced by the boundary values—no rows dropped, tails pulled inward.
| Technique | Targets | Tool |
|---|---|---|
| Log | Right skew | np.log1p |
| Box-Cox / Yeo-Johnson | Skew | SciPy |
| Clipping | Outliers | Series.clip |
| Winsorize | Outliers | winsorize |
Raw columns are often skewed or hold extreme outliers that bias training. Transformation reduces asymmetry and stabilizes extremes so models fit the main data pattern more reliably.
It compresses large values via \(\log(1+x)\). Incomes in the tens of thousands mapped into a narrow band around 9–11, centering a previously right-skewed distribution.
Clipping caps values at a chosen threshold (e.g. 99th percentile). Winsorization replaces values outside low/high percentiles with those boundary values, preserving every row.
Maths for Future Coders on Udemy.
Disclosure: This page contains affiliate links. We may earn from qualifying purchases at no extra cost to you. Links are intended for parents and educators, not as marketing directed at young children.
Bangkok international-school families benefit from transferable logic skills—not only coding syntax. Enquire WhatsApp +92 322 4217059. No fabricated Bangkok campus.
Computational thinking is a problem-solving mindset based on decomposition, pattern recognition, abstraction, and algorithmic design. It gives Bangkok international students the analytical tools needed to excel across mathematics, competitive science, and computer programming.
Lessons feature interactive logic puzzles, algorithmic challenges, visual coding exercises, and real-time mentor code reviews in small, engaging online groups.
Send a quick message to our team on WhatsApp to receive our current ICT weekend timetable and claim a free trial pass.