Data
churn_seed_3_nrows_2000_nclasses_10_ncols_100_stratify_True

churn_seed_3_nrows_2000_nclasses_10_ncols_100_stratify_True

active ARFF public Visibility: public Uploaded 17-11-2022 by Eddie Bergman
0 likes downloaded by 0 people , 0 total downloads 0 issues 0 downvotes
Issue #Downvotes for this reason By


Loading wiki
Help us complete this description Edit
Subsampling of the dataset churn (40701) with seed=3 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.choice( classes, size=nclasses_max, replace=False, p=vcs / sum(vcs), ) # Select the indices where one of these classes is present idxs = y.index[y.isin(classes)] x = x.iloc[idxs] y = y.iloc[idxs] # Uniformly sample columns if required if len(x.columns) > ncols_max: columns_idxs = rng.choice( list(range(len(x.columns))), size=ncols_max, replace=False ) sorted_column_idxs = sorted(columns_idxs) selected_columns = list(x.columns[sorted_column_idxs]) x = x[selected_columns] else: sorted_column_idxs = list(range(len(x.columns))) if len(x) > nrows_max: # Stratify accordingly target_name = y.name data = pd.concat((x, y), axis="columns") _, subset = train_test_split( data, test_size=nrows_max, stratify=data[target_name], shuffle=True, random_state=seed, ) x = subset.drop(target_name, axis="columns") y = subset[target_name] # We need to convert categorical columns to string for openml categorical_mask = [self.categorical_mask[i] for i in sorted_column_idxs] columns = list(x.columns) return Dataset( # Technically this is not the same but it's where it was derived from dataset=self.dataset, x=x, y=y, categorical_mask=categorical_mask, columns=columns, ) ```

21 features

class (target)nominal2 unique values
0 missing
statenumeric51 unique values
0 missing
account_lengthnumeric204 unique values
0 missing
area_codenominal3 unique values
0 missing
phone_numbernumeric2000 unique values
0 missing
international_plannominal2 unique values
0 missing
voice_mail_plannominal2 unique values
0 missing
number_vmail_messagesnumeric41 unique values
0 missing
total_day_minutesnumeric1263 unique values
0 missing
total_day_callsnumeric114 unique values
0 missing
total_day_chargenumeric1263 unique values
0 missing
total_eve_minutesnumeric1218 unique values
0 missing
total_eve_callsnumeric115 unique values
0 missing
total_eve_chargenumeric1115 unique values
0 missing
total_night_minutesnumeric1228 unique values
0 missing
total_night_callsnumeric119 unique values
0 missing
total_night_chargenumeric806 unique values
0 missing
total_intl_minutesnumeric152 unique values
0 missing
total_intl_callsnumeric19 unique values
0 missing
total_intl_chargenumeric152 unique values
0 missing
number_customer_service_callsnominal10 unique values
0 missing

19 properties

2000
Number of instances (rows) of the dataset.
21
Number of attributes (columns) of the dataset.
2
Number of distinct values of the target attribute (if it is nominal).
0
Number of missing values in the dataset.
0
Number of instances with at least one value missing.
16
Number of numeric attributes.
5
Number of nominal attributes.
0
Percentage of instances having missing values.
0
Percentage of missing values.
0.77
Average class difference between consecutive instances.
76.19
Percentage of numeric attributes.
0.01
Number of attributes divided by the number of instances.
23.81
Percentage of nominal attributes.
85.85
Percentage of instances belonging to the most frequent class.
1717
Number of instances belonging to the most frequent class.
14.15
Percentage of instances belonging to the least frequent class.
283
Number of instances belonging to the least frequent class.
3
Number of binary attributes.
14.29
Percentage of binary attributes.

0 tasks

Define a new task