{ "data_id": "44437", "name": "electricity_seed_4_nrows_2000_nclasses_10_ncols_100_stratify_True", "exact_name": "electricity_seed_4_nrows_2000_nclasses_10_ncols_100_stratify_True", "version": 2, "version_label": "29d085f1-6d85-4b03-835c-937931908680", "description": "Subsampling of the dataset electricity (44156) with\n\nseed=4\nargs.nrows=2000\nargs.ncols=100\nargs.nclasses=10\nargs.no_stratify=True\nGenerated with the following source code:\n\n\n```python\n def subsample(\n self,\n seed: int,\n nrows_max: int = 2_000,\n ncols_max: int = 100,\n nclasses_max: int = 10,\n stratified: bool = True,\n ) -> Dataset:\n rng = np.random.default_rng(seed)\n\n x = self.x\n y = self.y\n\n # Uniformly sample\n classes = y.unique()\n if len(classes) > nclasses_max:\n vcs = y.value_counts()\n selected_classes = rng.choice(\n classes,\n size=nclasses_max,\n replace=False,\n p=vcs \/ sum(vcs),\n )\n\n # Select the indices where one of these classes is present\n idxs = y.index[y.isin(classes)]\n x = x.iloc[idxs]\n y = y.iloc[idxs]\n\n # Uniformly sample columns if required\n if len(x.columns) > ncols_max:\n columns_idxs = rng.choice(\n list(range(len(x.columns))), size=ncols_max, replace=False\n )\n sorted_column_idxs = sorted(columns_idxs)\n selected_columns = list(x.columns[sorted_column_idxs])\n x = x[selected_columns]\n else:\n sorted_column_idxs = list(range(len(x.columns)))\n\n if len(x) > nrows_max:\n # Stratify accordingly\n target_name = y.name\n data = pd.concat((x, y), axis=\"columns\")\n _, subset = train_test_split(\n data,\n test_size=nrows_max,\n stratify=data[target_name],\n shuffle=True,\n random_state=seed,\n )\n x = subset.drop(target_name, axis=\"columns\")\n y = subset[target_name]\n\n # We need to convert categorical columns to string for openml\n categorical_mask = [self.categorical_mask[i] for i in sorted_column_idxs]\n columns = list(x.columns)\n\n return Dataset(\n # Technically this is not the same but it's where it was derived from\n dataset=self.dataset,\n x=x,\n y=y,\n categorical_mask=categorical_mask,\n columns=columns,\n )\n```", "format": "arff", "uploader": "Eddie Bergman", "uploader_id": 32840, "visibility": "public", "creator": "\"Eddie Bergman\"", "contributor": null, "date": "2022-11-17 18:01:17", "update_comment": null, "last_update": "2022-11-17 18:01:17", "licence": "Public", "status": "active", "error_message": null, "url": "https:\/\/api.openml.org\/data\/download\/22111199\/dataset", "kaggle_url": null, "default_target_attribute": "class", "row_id_attribute": null, "ignore_attribute": null, "runs": 0, "suggest": { "input": [ "electricity_seed_4_nrows_2000_nclasses_10_ncols_100_stratify_True", "Subsampling of the dataset electricity (44156) with seed=4 args.nrows=2000 args.ncols=100 args.nclasses=10 args.no_stratify=True Generated with the following source code: ```python def subsample( self, seed: int, nrows_max: int = 2_000, ncols_max: int = 100, nclasses_max: int = 10, stratified: bool = True, ) -> Dataset: rng = np.random.default_rng(seed) x = self.x y = self.y # Uniformly sample classes = y.unique() if len(classes) > nclasses_max: vcs = y.value_counts() selected_classes = rng.choi " ], "weight": 5 }, "qualities": { "NumberOfInstances": 2000, "NumberOfFeatures": 9, "NumberOfClasses": 2, "NumberOfMissingValues": 0, "NumberOfInstancesWithMissingValues": 0, "NumberOfNumericFeatures": 7, "NumberOfSymbolicFeatures": 2, "PercentageOfBinaryFeatures": 11.11111111111111, "PercentageOfInstancesWithMissingValues": 0, "PercentageOfMissingValues": 0, "AutoCorrelation": 0.4842421210605303, "PercentageOfNumericFeatures": 77.77777777777779, "Dimensionality": 0.0045, "PercentageOfSymbolicFeatures": 22.22222222222222, "MajorityClassPercentage": 50, "MajorityClassSize": 1000, "MinorityClassPercentage": 50, "MinorityClassSize": 1000, "NumberOfBinaryFeatures": 1 }, "tags": [], "features": [ { "name": "class", "index": "8", "type": "nominal", "distinct": "2", "missing": "0", "target": "1", "distr": [ [ "DOWN", "UP" ], [ [ "1000", "0" ], [ "0", "1000" ] ] ] }, { "name": "date", "index": "0", "type": "numeric", "distinct": "832", "missing": "0", "min": "0", "max": "1", "mean": "0", "stdev": "0" }, { "name": "day", "index": "1", "type": "nominal", "distinct": "7", "missing": "0", "distr": [ [ "0", "1", "2", "3", "4", "5", "6" ], [ [ "134", "158" ], [ "149", "186" ], [ "147", "150" ], [ "136", "120" ], [ "154", "125" ], [ "146", "129" ], [ "134", "132" ] ] ] }, { "name": "period", "index": "2", "type": "numeric", "distinct": "48", "missing": "0", "min": "0", "max": "1", "mean": "1", "stdev": "0" }, { "name": "nswprice", "index": "3", "type": "numeric", "distinct": "1267", "missing": "0", "min": "0", "max": "1", "mean": "0", "stdev": "0" }, { "name": "nswdemand", "index": "4", "type": "numeric", "distinct": "1555", "missing": "0", "min": "0", "max": "1", "mean": "0", "stdev": "0" }, { "name": "vicprice", "index": "5", "type": "numeric", "distinct": "921", "missing": "0", "min": "0", "max": "0", "mean": "0", "stdev": "0" }, { "name": "vicdemand", "index": "6", "type": "numeric", "distinct": "949", "missing": "0", "min": "0", "max": "1", "mean": "0", "stdev": "0" }, { "name": "transfer", "index": "7", "type": "numeric", "distinct": "825", "missing": "0", "min": "0", "max": "1", "mean": "0", "stdev": "0" } ], "nr_of_issues": 0, "nr_of_downvotes": 0, "nr_of_likes": 0, "nr_of_downloads": 0, "total_downloads": 0, "reach": 0, "reuse": 0, "impact_of_reuse": 0, "reach_of_reuse": 0, "impact": 0 }