Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

<p>The Kaggle Spaceship Titanic task is a binary classification problem: for each passenger, predict whether they were <code>Transported</code> to an alternate dimension. CatBoost handles this kind of tabular data well, and the modeling steps run the same way on any Python 3 environment. The Android part needs care. Google’s documentation lists Antigravity desktop surfaces for macOS, Windows, and Linux, and an Android development integration for building Android apps. It does not show that the Antigravity IDE runs natively on an Android phone or tablet. If you want a phone-centred workflow, you will need a workaround such as a remote machine or a terminal app, and you should test that setup yourself before relying on it.</p>

<h2>What the Kaggle task asks you to predict</h2>
<p>The competition’s story describes a spaceship carrying almost 13,000 passengers, some of whom were transported to an alternate dimension during an accident. That premise is fictional. The machine-learning problem is ordinary: each row is a passenger, and the label is the column <code>Transported</code>, a true or false value. Kaggle evaluates submissions on classification accuracy, which it defines as "the percentage of predicted labels that are correct" (<a href="https://www.kaggle.com/competitions/spaceship-titanic/overview/description">Kaggle competition overview</a>). Your submission is a CSV file with two columns, <code>PassengerId</code> and <code>Transported</code>.</p>
<p>Kaggle classifies this as a Getting Started competition, meant for people with little or no machine-learning background. It has no end date and a rolling leaderboard (<a href="https://www.kaggle.com/competitions/spaceship-titanic/overview/frequently-asked-questions">competition FAQ</a>). That makes it a good first tabular project, but it also means the leaderboard moves, so treat any score you see as a snapshot.</p>

<h2>Which Antigravity surfaces can run where</h2>
<p>Antigravity is presented in several forms, and they are not interchangeable. The official product page lists the surfaces (<a href="https://www.antigravity.google/docs/home">Antigravity documentation home</a>). The table below separates what each one is documented to support from what it would mean for this project.</p>
<table>
<thead>
<tr><th>Option</th><th>Platforms stated in the official sources</th><th>What it means for this project</th></tr>
</thead>
<tbody>
<tr><td>Antigravity IDE (desktop)</td><td>macOS, Windows, Linux requirements listed (<a href="https://www.antigravity.google/docs/ide/overview/">IDE overview</a>)</td><td>Use it on a laptop or desktop. No Android device is listed.</td></tr>
<tr><td>Antigravity CLI</td><td>Official installation list covers macOS, Linux, Googlebook, and Windows (<a href="https://antigravity.google/docs?authuser=0">CLI getting started</a>)</td><td>Android is not on the official install list. A terminal-based phone setup would be a workaround.</td></tr>
<tr><td>Android development integration</td><td>Documented for Android development tasks</td><td>Designed for building Android apps. It is not a general Python or machine-learning environment.</td></tr>
<tr><td>Termux, remote desktop, or a cloud session</td><td>Not an official Antigravity path. Unofficial reports exist, but they do not establish compatibility.</td><td>Possible, but you must verify it on your own device, and document it if you publish results.</td></tr>
</tbody>
</table>

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

<h3>If you have a laptop or desktop</h3>
<p>Run the Antigravity IDE on that machine, and use your phone only to read notes or check the Kaggle page. This is the only configuration the official sources clearly support.</p>

#1 Best Overall
Sale
Beginning Android Games
  • Used Book in Good Condition

<h3>If you want to work from an Android phone</h3>
<p>Two routes are plausible, and neither is documented by Google or Kaggle as a supported path for this project:</p>
<ul>
<li>Connect from the phone to a machine you control (a home computer or a cloud VM) over SSH or a remote desktop app. Training then happens on that machine, and the phone is only the screen and keyboard.</li>
<li>Install a Linux-style terminal app and a Python environment directly on the phone. This keeps compute local, but it depends on whether CatBoost and its dependencies install and run on your Android version and chip. The official CatBoost documentation does not establish Android package compatibility.</li>
</ul>
<p>Whichever route you take, record the device model, Android version, terminal or editor, Python version, and whether training ran locally or remotely. Those details are what make a result reproducible.</p>

<h2>Set up the Python environment</h2>
<ol>
<li>Create a virtual environment in a project folder. On Linux or macOS, run <code>python3 -m venv .venv</code> and then <code>source .venv/bin/activate</code>. On Windows PowerShell, run <code>py -m venv .venv</code> and then <code>.venvScriptsactivate</code>.</li>
<li>Install the libraries with <code>pip install catboost pandas scikit-learn</code>. Check the installed CatBoost version with <code>pip show catboost</code> and record it.</li>
<li>Open the competition page, join it, and accept the rules. Download the training and test files from the Data tab. Kaggle does not require a particular file layout beyond the files it provides, so keep the names exactly as downloaded or adjust the code below.</li>
<li>Place the files in the project folder and confirm that the training file contains a <code>Transported</code> column and the test file does not.</li>
</ol>

<h2>Load the data and create a validation split</h2>
<p>Labelled training rows are the only rows where you can measure accuracy before submitting. Split them into a training portion and a validation portion, compare your choices on the validation portion, and use the test file only to produce the submission. The 80/20 split and the fixed seed below are workflow choices for reproducibility, not requirements from Kaggle.</p>
<pre><code>import pandas as pd
from catboost import CatBoostClassifier
from sklearn.model_selection import train_test_split

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

train = pd.read_csv(‘train.csv’)
test = pd.read_csv(‘test.csv’)

y = train[‘Transported’].astype(int)
X = train.drop(columns=[‘Transported’, ‘PassengerId’, ‘Name’], errors=’ignore’)
X_test = test.drop(columns=[‘PassengerId’, ‘Name’], errors=’ignore’)

cat_cols = X.select_dtypes(include=’object’).columns.tolist()
for col in cat_cols:
X[col] = X[col].fillna(‘missing’).astype(str)
X_test[col] = X_test[col].fillna(‘missing’).astype(str)

num_cols = [c for c in X.columns if c not in cat_cols]
X[num_cols] = X[num_cols].fillna(0)
X_test[num_cols] = X_test[num_cols].fillna(0)

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

X_tr, X_va, y_tr, y_va = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)</code></pre>
<p>The preprocessing above is deliberately simple. Missing categorical values become a labelled <code>missing</code> category, and missing numeric values become zero. Both choices affect accuracy, so write them down with your results. Columns such as the home planet and destination are categorical text, and CatBoost can use them directly as categorical features without one-hot encoding.</p>

<h2>Train CatBoost with categorical features</h2>
<p>CatBoost is a gradient-boosting library whose original paper emphasises support for categorical features (<a href="https://arxiv.org/abs/1810.11363">CatBoost paper, arXiv, 2018</a>). It is one reasonable choice for this tabular classification task, not the only one. Its metrics documentation includes Accuracy as an evaluation metric (<a href="https://catboost.ai/docs/en/features/loss-functions-desc">CatBoost loss functions and metrics</a>), which matches the competition’s scoring rule.</p>
<pre><code>model = CatBoostClassifier(
iterations=500,
random_seed=42,
eval_metric=’Accuracy’,
verbose=100
)
model.fit(X_tr, y_tr, cat_features=cat_cols, eval_set=(X_va, y_va))

va_pred = model.predict(X_va).astype(int)
print(‘Validation accuracy:’, (va_pred == y_va.values).mean())</code></pre>
<p>Report the validation accuracy together with the split, the seed, the iteration count, the preprocessing rules, and the CatBoost version. A number without those conditions cannot be compared with anyone else’s. Once your choices are settled, you can refit on all labelled rows using the same settings before predicting the test file.</p>

<h3>Compare options on the same validation split</h3>
<p>If you try a second model, such as a simpler baseline, compare them on identical splits and seeds. Useful practical columns are validation accuracy, how much it changes when you change the seed, training time on your device, and how much preprocessing it needs. Only accuracy is the official competition metric; the other columns are your own engineering comparison.</p>

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

<h2>Write and check the submission file</h2>
<pre><code>test_pred = model.predict(X_test).astype(int).astype(bool)

sub = pd.DataFrame({
‘PassengerId’: test[‘PassengerId’],
‘Transported’: test_pred
})
sub.to_csv(‘submission.csv’, index=False)

check = pd.read_csv(‘submission.csv’)
assert list(check.columns) == [‘PassengerId’, ‘Transported’]
assert len(check) == len(test)
print(check.head())</code></pre>
<p>Before uploading, check the following:</p>
<ul>
<li>The header is exactly <code>PassengerId,Transported</code>, in that order.</li>
<li>There is one row for every passenger in the test file, with no duplicates and no missing values.</li>
<li>The <code>Transported</code> values are boolean (True or False), not 0 and 1 or text.</li>
<li>The file was produced by the same code and seed you documented.</li>
</ul>
<p>Compare the header and value format with the sample submission file on the Data tab before uploading.</p>

<h2>Competition rules to check before you share or submit</h2;
<p>The rules page governs data use, sharing, and submissions. The points below reflect the published rules at the time of writing, but the live page takes precedence, and it may change.</p>
<ul>
<li>Competition data may be used for participating in the competition and for education under the rules.</li>
<li>If you add external data, it must be public and equally accessible at no cost to other participants.</li>
<li>Shared competition code must use an OSI-approved licence with no restriction on commercial use.</li>
<li>The rules page lists a limit of ten submissions per day.</li>
</ul>
<p>Read the current rules at <a href="https://www.kaggle.com/competitions/spaceship-titanic-we/rules">the Spaceship Titanic rules page</a> before you publish code or make a submission.</p>

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

<h2>Do not confuse this with the classic Titanic dataset</h2>
<p>CatBoost’s documentation includes a built-in <code>titanic</code> dataset, loaded through <code>catboost.datasets.titanic</code>. That is the historical Titanic passenger data, with 891 training rows and 418 validation rows according to the CatBoost reference (year not stated on that page). It is not the Spaceship Titanic data, and the two tasks do not share a target or file layout. Use the Kaggle files for this competition (<a href="https://catboost.ai/docs/en/concepts/python-reference_datasets_titanic">CatBoost Titanic dataset reference</a>).</p>

Quick Recap

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi