Skip to content

Repository files navigation

AbstractML

A small, abstracted ML toolkit to make it easy to perform ML Tasks/code.

Purpose

My entire life i felt like most information on the intertnet and documentations/instructions create more of a mess than to actually explain things. i like to keep things simple.

1 simple sentence can beat entire books of information. Same way 1 line functions should be abstracting some ML tasks to hide complexity and Boilerplate code..

The project is organized by purpose:
Data/ handles datasets, EDA, plots, and preprocessing;
Models/ handles estimators;
Evaluation/ handles metrics;
Tuning/ fine tuning functions/pipelines;
Pipeline/ Construct entire Pipelines of the previosuly listed functions easily with Pipeline/ Module
Core/ holds shared utilities.

Example

from Data import *
from Models import *
from Evaluation import *

#__________________ Setup __________________
downloadDataset(name="iris",source="sklearn",outputPath="Datasets",saveAs="iris_dataset",)
setActiveDataset("iris_dataset")  #this says hey we are talking about this Dataset from now on.


#__________________ Exploratory Data Analysis __________________
describeData()
viewHead(n=10)
#viewSample(n=20)  #randomly selects and views n rows
#viewSchema()      # how many rows and cols?


#__________________ Preprocessing __________________
dropMissing(columns=None,threshold=None)    #Removes missing data based on what cols, threshold u specify.
scaleData(method="standard",columns=None)  #Scales numeric columns.  normalizes numbers.
#encodeTarget(y,method="label")   #Encodes the target labels separately.


#__________________ Feature Engineering __________________
createFeature(name="sepalRatio",expression="sepal_length / sepal_width")  #Creates a new column from existing columns.
#binColumn(column="sepal_length",bins=3,newColumn="sepalLengthBin")   #temperature -> cold/medium/hot.
#combineColumns(columns=["domain","model"],newColumn="domainModel") #Merge columns into one feature.



#__________________ Model Selection/Training __________________
model = selectModel(name="logistic_regression", max_iter=1000)
trained = trainModel(model=model, target="target")



#__________________ Evaluation __________________
print(evaluateModel(trained=trained))



#__________________ Fine Tuning __________________




#__________________ Pipeline __________________

Quickstart

git clone https://github.com/MwkosP/AbstarctML
cd AbstractML
uv sync

and maybe run some examples so you understand how it works

uv run main.py

Status

Early development. See RULES.md for structure and conventions.

About

A small, abstracted ML toolkit to make it easy to perform ML Tasks/code.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages