Data
churn_seed_1_nrows_2000_nclasses_10_ncols_100_stratify_True

churn_seed_1_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=1 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_lengthnumeric199 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_messagesnumeric43 unique values
0 missing
total_day_minutesnumeric1283 unique values
0 missing
total_day_callsnumeric112 unique values
0 missing
total_day_chargenumeric1283 unique values
0 missing
total_eve_minutesnumeric1187 unique values
0 missing
total_eve_callsnumeric116 unique values
0 missing
total_eve_chargenumeric1085 unique values
0 missing
total_night_minutesnumeric1231 unique values
0 missing
total_night_callsnumeric119 unique values
0 missing
total_night_chargenumeric798 unique values
0 missing
total_intl_minutesnumeric160 unique values
0 missing
total_intl_callsnumeric20 unique values
0 missing
total_intl_chargenumeric160 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.
14.29
Percentage of binary attributes.
0
Percentage of instances having missing values.
0.76
Average class difference between consecutive instances.
0
Percentage of missing values.
0.01
Number of attributes divided by the number of instances.
76.19
Percentage of numeric attributes.
85.85
Percentage of instances belonging to the most frequent class.
23.81
Percentage of nominal attributes.
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.

0 tasks

Define a new task