Data science og Scikit-learn
FrameworkPython

Scikit-learn

Det mest populære Python-bibliotek til klassisk machine learning. Tilbyder en konsistent API til hundredvis af algoritmer med fremragende dokumentation.

https://scikit-learn.org

Scikit-learn (sklearn) er det mest udbredte Python-bibliotek til klassisk machine learning. Det bygger på NumPy, SciPy og Matplotlib og tilbyder en enkel, konsistent API til et bredt udvalg af ML-algoritmer.

Biblioteket følger en elegant designfilosofi med fire kerneobjekter: Estimators (modeller med fit-metode), Predictors (modeller med predict-metode), Transformers (datapræprocessering med transform-metode) og Pipelines (kæd transformers og estimators sammen).

Algoritmerne dækker alle hovedområder af klassisk ML:

Klassifikation: Logistisk regression, SVM, Random Forest, Gradient Boosting, KNN, Naive Bayes og mange flere. Multiclass og multilabel klassifikation understøttes naturligt.

Regression: Lineær regression, Ridge, Lasso, ElasticNet, SVR, Random Forest Regressor, Gradient Boosting Regressor med flere.

Clustering: K-Means, DBSCAN, hierarchisk clustering, Gaussian Mixture Models, spectral clustering og agglomerativ clustering.

Dimensionsreduktion: PCA, t-SNE, UMAP (via umap-learn), NMF og Truncated SVD til sparse data.

Datapræprocessering er en styrke: StandardScaler, MinMaxScaler, OneHotEncoder, LabelEncoder, Imputer og mange andre transformers gør det let at forberede data. Pipelines sikrer at præprocessering anvendes konsistent på trænings- og testdata.

Model selection-værktøjer inkluderer cross-validation (cross_val_score, GridSearchCV, RandomizedSearchCV), train_test_split og learning_curves. Disse er essentielle for at evaluere og tune modeller korrekt.

Metrikker til evaluering er omfattende: accuracy, precision, recall, F1, ROC AUC for klassifikation; MSE, MAE, R² for regression; silhouette score for clustering. classification_report giver et komplet overblik.

Scikit-learn er IKKE designet til deep learning - til det bruges PyTorch eller TensorFlow. Men for klassisk ML, prototyping og undervisning er det det ubetinget bedste værktøj. Den konsistente API gør det let at skifte mellem algoritmer og sammenligne præstationer.

Styrker

Konsistent API
Fremragende dokumentation
Bred algoritmedækning
Pipelines
Cross-validation