Skip to main content

a more in-depth testsplit splitting intercategorical

Project description

fancy schmancy testsplit

it's like a testsplit, but fancy and also schmancy


for reference:

package fancy schmancy testsplit
sklearn.model_selection :thumbsdown: :thumbsdown: :thumbsup:
fancy schmancy testsplit :thumbsup: :thumbsup: :thumbsup:

a testplit per label category, to ensure that every category is present


Examples

Assume the following DataFrame:

df = DataFrame(data= {"Column A":[10, 14, 12, 13, 9, 5, 13, 16, 18, 4, 12],
"Column B": ["Cat1", "Cat1", "Cat2", "Cat2", "Cat2", "Cat2", "Cat2", "Cat2", "Cat2", "Cat2", "Cat2"]})
print(df)
Column A Column B
0 10 Cat1
1 14 Cat1
2 12 Cat2
3 13 Cat2
4 9 Cat2
5 5 Cat2
6 13 Cat2
7 16 Cat2
8 18 Cat2
9 4 Cat2
10 12 Cat2

If we assume further that Column B contains the label categories, we'd run the risk of eliminating Cat1 by doing a train test split at 50%.

So, to preserve every existing category, the split will instead be made on every single subset of categories.

As an example for Cat1:

subset = df[df["Column B"] == "Cat1"]
X = subset.drop("Column B", axis= 1)
y = subset["Column B"]
if isinstance(y, Series): y = DataFrame(y)
X_tr, X_te, y_tr, y_te = \
    train_test_split(X, y, test_size = 0.5, random_state = 42)
print(y_tr)
Column B
0 Cat1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FancySchmancyTestsplit-0.1.1.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

FancySchmancyTestsplit-0.1.1-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file FancySchmancyTestsplit-0.1.1.tar.gz.

File metadata

  • Download URL: FancySchmancyTestsplit-0.1.1.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for FancySchmancyTestsplit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1d8ae8ca62fd046cbbe43fff66a42d0c56eff0a4277c13e75fa786a68fe5ab51
MD5 74dab5f90e13e0b4081ba3f47bef49d4
BLAKE2b-256 0362ffd4b205936349eff649705ddb5db03278ddaae98781760c40d357fb27b8

See more details on using hashes here.

File details

Details for the file FancySchmancyTestsplit-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for FancySchmancyTestsplit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8bbc5d984357aae2a362fd3741f13578483846a4ec70abdf17ae13f94010c8ef
MD5 0427b3f032ce274dc70914a984493cc7
BLAKE2b-256 f7ccbfd30fb44223647ac739313fe18ab72ff500760903edd8677b6d5f9d9e38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page