@@ -17,3 +17,57 @@ pip install vertibench
1717
1818## Getting Started
1919
20+ This examples includes the pipeline of split and evaluate. First,
21+ load your datasets or generate synthetic datasets.
22+
23+ ``` python
24+ from sklearn.datasets import make_classification
25+
26+ # Generate a large dataset
27+ X, y = make_classification(n_samples = 10000 , n_features = 10 )
28+ ```
29+
30+ To split the dataset by importance,
31+
32+ ``` python
33+ from vertibench.Splitter import ImportanceSplitter
34+
35+ imp_splitter = ImportanceSplitter(num_parties = 4 , weights = [1 , 1 , 1 , 3 ])
36+ Xs = imp_splitter.split(X)
37+ ```
38+
39+ To split the dataset by correlation,
40+
41+ ``` python
42+ from vertibench.Splitter import CorrelationSplitter
43+
44+ corr_splitter = CorrelationSplitter(num_parties = 4 )
45+ Xs = corr_splitter.fit_split(X)
46+ ```
47+
48+ To evaluate a feature split ` Xs ` in terms of party importance,
49+
50+ ``` python
51+ from vertibench.Evaluator import ImportanceEvaluator
52+ from sklearn.linear_model import LogisticRegression
53+ import numpy as np
54+
55+ model = LogisticRegression()
56+ X = np.concatenate(Xs, axis = 1 )
57+ model.fit(X, y)
58+ imp_evaluator = ImportanceEvaluator()
59+ imp_scores = imp_evaluator.evaluate(Xs, model.predict)
60+ alpha = imp_evaluator.evaluate_alpha(scores = imp_scores)
61+ print (f " Importance scores: { imp_scores} , alpha: { alpha} " )
62+ ```
63+
64+ To evaluate a feature split in terms of correlation,
65+
66+ ``` python
67+ from vertibench.Evaluator import CorrelationEvaluator
68+
69+ corr_evaluator = CorrelationEvaluator()
70+ corr_scores = corr_evaluator.fit_evaluate(Xs)
71+ beta = corr_evaluator.evaluate_beta()
72+ print (f " Correlation scores: { corr_scores} , beta: { beta} " )
73+ ```
0 commit comments