PyCharm Coding for (Un)supervised Learning

Job ID: 38790925

Budget: €30 – €250 EUR

I'm looking for a talented coder proficient in Python and PyCharm, skilled in both supervised and unsupervised learning. The specific algorithms and objectives haven't been decided yet, so I need someone who can help guide this process. The ideal freelancer should have rich experience in machine learning and data analysis, and should be able to implement various algorithms, such as Linear Regression and K-Means Clustering, as needed.

Key Requirements:
- Proficient in Python and PyCharm
- Experienced in both supervised and unsupervised learning
- Able to implement various machine learning algorithms
- Capable of guiding project objectives and algorithm selection
- Strong background in data analysis
- Capable of efficiently manipulating and analyzing data using the Pandas library.
this is my assignment:
Opgave 1 – Supervised learning (8 punten)

Maak gebruik van

de sports classification dataset

om enkele classificatiealgoritmen te

implementeren.

Je inzending voor dit deel van de opdracht bestaat uit

één Python bestand

(met

extensie

.py
) waarin je volledige programma vervat zit. Je kan hiervoor vertrekken vanuit de template

06_opdracht2_opgave1_template.py
.

( / 2 )

Je start met het importeren van je dataset:



Je gebruikt hiervoor een Pandas dataframe.



Twee van de vier kolommen zijn categorisch. Zorg ervoor dat je dataframe dit ook

reflecteert.



Verwijder (indien nodig) observaties waarvoor er ontbrekende/ongeldige waarden zijn.



Kies zelf vijf sporten uit en verwijder de observaties voor alle andere sporten uit je

dataframe. Let op: verwijder ze enkel uit je dataframe (i.e. de gegevens in het intern

geheugen) en niet uit je volledige dataset (i.e. de folder op je harde schijf).



Splits je dataframe op in een training, test en validatie set.



Vorm elk van deze dataframes apart om tot twee Numpy arrays:

o

De eerste array heeft dimensie (N, H * W * C), waarbij N het aantal observaties, H de

hoogte in pixels, W de breedte in pixels en C het aantal kleurkanalen voorstelt. Deze

array bevat voor elke observatie een ééndimensionale array met daarin de

pixelwaarden van de bijhorende afbeelding.

o

De tweede array heeft dimensie (N) en bevat het overeenstemmende label voor elke

observatie.

( / 4.5 )

Train vervolgens een classificatiealgoritme C met behulp van een training set T. Analyseer nadien je

resultaten door een prestatiemaatstaf P te berekenen. Vergelijk ook telkens met de resultaten van

een

dummy classifier
. Doe dit voor de volgende drie scenario’s:



( / 1.5 )

o

C
:

Je classificatiealgoritme is de

Stochastic Gradient Descent classifier
.

o

T
: Je kiest één sport.

Je training set bestaat uit je oorspronkelijke training set, waarbij

alle labels vervangen werden door True (wanneer het oorspronkelijke label gelijk is

Opdracht 2

aan die bepaalde sport) of False (wanneer het oorspronkelijke label gelijk is aan één

van de vier andere sporten).

o

P
: Je berekent de

precision

en

recall

van je algoritme op basis van de predicties die

het maakt voor je test set.



( / 1.5 )

o

C
:

Je classificatiealgoritme is de

Stochastic Gradient Descent classifier
.

o

T
:

Je training set bestaat uit je oorspronkelijke training set, gecombineerd met je test

set.

o

P
: De accuraatheid van je algoritme leidt je af uit de

cross validatie scores
: je neemt

het gemiddelde van drie

folds
.



( / 1.5 )

o

C
: Je classificatiealgoritme is

Support Vector Classification
.

o

T
:

Je training set bestaat uit je oorspronkelijke training set.

o

P
: Je toont de volledige

confusion matrix

met absolute (i.p.v. procentuele) gegevens

over voorspellingen die gemaakt werden voor je test set.

( / 1.5 )

Analyseer welke invloed de grootte (i.e. aantal pixels) en kleur (i.e. RGB of grijsschaal) van de

afbeeldingen heeft op de resultaten van je classificatiealgoritme. Het volstaat om je hiervoor op

slechts één van de drie voorgaande scenario’s te focussen. Maak gebruik van commentaarregels om

je bevindingen helder en volledig toe te lichten.
Opdracht 2

Opgave 2 – Unsupervised learning (2 punten)

Maak gebruik van

deze olympische dataset

om enkele clusteringalgoritmen te implementeren.

Je

inzending voor dit deel van de opdracht bestaat uit

één Python bestand

(met extensie

.py
) waarin je

volledige programma vervat zit. Je kan hiervoor vertrekken vanuit de template

07_opdracht2_opgave2_template.py
.

( / 0.5 )

Je start met het analyseren van je dataset. Bekijk of hoogte en gewicht onderscheidende

eigenschappen zijn voor deelnemers die de sporten Weightlifting, Wrestling, Boxing en Tug-Of-War

enerzijds en Basketball, Tennis, Volleyball en Beach Volleyball anderzijds beoefenen. Je doet dit door

een

scatter plot

te tonen waarbij elke sportgroep een andere kleur krijgt.

( / 1.5 )

Voer vervolgens een clusteringalgoritme C uit op deze dataset. Visualiseer telkens de bekomen

resultaten door elke cluster een andere kleur toe te kennen in een

scatter plot
. Doe dit voor de

volgende drie scenario’s:



( / 0.5 )

o

C
:

Je clusteringalgoritme is

k-means
.



( / 0.5 )

o

C
:

Je clusteringalgoritme is

DBSCAN
. Vermeld hierbij ook het aantal clusters.



( / 0.5 )

o

C
: Je clusteringalgoritme is

GMM
. Vermeld hierbij ook of het algoritme convergeerde

en, zoja, na hoeveel iteraties dat gebeurde.

The project will use the provided data sets for implementation. The project is expected to be completed within 4 days."