Metadata-Version: 2.4
Name: scikit-tools
Version: 0.2.0
Summary: Thirteen runnable, straight-through scikit-learn and data-analysis examples
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: ipython
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: seaborn

# scikit-tools

`scikit-tools` provides 13 standalone, straight-through Python examples. Each
topic file contains its own imports, dataset setup, and analysis code; examples
are not hidden inside functions.

## Install from a local checkout

```console
python -m pip install -e .
```

This installs the package and its dependencies. Each topic loads the Iris
dataset provided by `sklearn.datasets.load_iris`, formats its columns to match
the examples, and does not download or write a CSV file.

## Open or run a topic

```console
python -m scikit_tools.numpy_stats
python -m scikit_tools.pca
```

You can also open any topic script under `scikit_tools` directly in your
editor, inspect or copy its raw code, and run it with the editor's Python run
command. These are scripts: importing one executes its example.

## Topics

1. NumPy statistics (`numpy_stats.py`)
2. Inspecting the Iris dataset (`inspect_dataset.py`)
3. Handling missing values (`missing_values.py`)
4. Data transformation (`data_transformation.py`)
5. Histogram and scatter-plot EDA (`eda_plots.py`)
6. Box plot and IQR outlier detection (`outlier_detection.py`)
7. Descriptive statistics (`descriptive_stats.py`)
8. Correlation and covariance (`correlation_covariance.py`)
9. Independent-samples t-test (`hypothesis_testing.py`)
10. Linear regression (`linear_regression.py`)
11. Logistic-regression classification (`logistic_regression.py`)
12. K-means clustering (`kmeans_clustering.py`)
13. PCA and classification (`pca.py`)

The examples use the Iris columns `SepalLengthCm`, `SepalWidthCm`,
`PetalLengthCm`, `PetalWidthCm`, and `Species`. The species names use the
`Iris-setosa` style. The missing values example intentionally adds missing values to a DataFrame
copy and fills them; it does not change the source dataset.
