qqubb commited on
Commit
8a14598
·
verified ·
1 Parent(s): 47632f3

Upload 12 files

Browse files
.gitattributes CHANGED
@@ -2,13 +2,11 @@
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
  *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
14
  *.npy filter=lfs diff=lfs merge=lfs -text
@@ -16,16 +14,14 @@
16
  *.onnx filter=lfs diff=lfs merge=lfs -text
17
  *.ot filter=lfs diff=lfs merge=lfs -text
18
  *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
  *.pickle filter=lfs diff=lfs merge=lfs -text
21
  *.pkl filter=lfs diff=lfs merge=lfs -text
 
22
  *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
  *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
  *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
  *.tgz filter=lfs diff=lfs merge=lfs -text
31
  *.wasm filter=lfs diff=lfs merge=lfs -text
 
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
 
5
  *.ftz filter=lfs diff=lfs merge=lfs -text
6
  *.gz filter=lfs diff=lfs merge=lfs -text
7
  *.h5 filter=lfs diff=lfs merge=lfs -text
8
  *.joblib filter=lfs diff=lfs merge=lfs -text
9
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
10
  *.model filter=lfs diff=lfs merge=lfs -text
11
  *.msgpack filter=lfs diff=lfs merge=lfs -text
12
  *.npy filter=lfs diff=lfs merge=lfs -text
 
14
  *.onnx filter=lfs diff=lfs merge=lfs -text
15
  *.ot filter=lfs diff=lfs merge=lfs -text
16
  *.parquet filter=lfs diff=lfs merge=lfs -text
 
17
  *.pickle filter=lfs diff=lfs merge=lfs -text
18
  *.pkl filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
  *.pt filter=lfs diff=lfs merge=lfs -text
21
  *.pth filter=lfs diff=lfs merge=lfs -text
22
  *.rar filter=lfs diff=lfs merge=lfs -text
 
23
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
24
  *.tar.* filter=lfs diff=lfs merge=lfs -text
 
25
  *.tflite filter=lfs diff=lfs merge=lfs -text
26
  *.tgz filter=lfs diff=lfs merge=lfs -text
27
  *.wasm filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ .fhe_keys/
2
+ client_dir/
3
+ server_dir/
README.md CHANGED
@@ -1,12 +1,7 @@
1
- ---
2
- title: Fhe Titanic
3
- emoji: 🐢
4
- colorFrom: pink
5
- colorTo: yellow
6
- sdk: gradio
7
- sdk_version: 4.18.0
8
- app_file: app.py
9
- pinned: false
10
- ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
1
+ Titanic Survival Prediction using Fully Homomorphic Encryption (FHE) and Cloud Deployment of Encrypted ML
 
 
 
 
 
 
 
 
 
2
 
3
+ Titanic survival code adapted from:
4
+ https://huggingface.co/spaces/gradio/titanic_survival_main
5
+
6
+ FHE Cloud Deployment code adapted from:
7
+ https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/use_case_examples/deployment/README.md
deployment_logit/client.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:983b99c13cc1d3cd6b9b241f182190a0cc3908d3326e77a897c2eab99331135b
3
+ size 129
deployment_logit/server.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7fe507b4ac8046e145da5fabdfaa54462c327de96670dd5f7f3a4edca9f8041
3
+ size 129
deployment_logit/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.12"}
files/titanic.csv ADDED
@@ -0,0 +1,892 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
2
+ 1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
3
+ 2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C
4
+ 3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S
5
+ 4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S
6
+ 5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S
7
+ 6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q
8
+ 7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S
9
+ 8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S
10
+ 9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S
11
+ 10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C
12
+ 11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S
13
+ 12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S
14
+ 13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S
15
+ 14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S
16
+ 15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S
17
+ 16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S
18
+ 17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q
19
+ 18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S
20
+ 19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S
21
+ 20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C
22
+ 21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S
23
+ 22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S
24
+ 23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q
25
+ 24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S
26
+ 25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S
27
+ 26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S
28
+ 27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C
29
+ 28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S
30
+ 29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q
31
+ 30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S
32
+ 31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C
33
+ 32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C
34
+ 33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q
35
+ 34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S
36
+ 35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C
37
+ 36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S
38
+ 37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C
39
+ 38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S
40
+ 39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S
41
+ 40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C
42
+ 41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S
43
+ 42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S
44
+ 43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C
45
+ 44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C
46
+ 45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q
47
+ 46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S
48
+ 47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q
49
+ 48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q
50
+ 49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C
51
+ 50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S
52
+ 51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S
53
+ 52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S
54
+ 53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C
55
+ 54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S
56
+ 55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C
57
+ 56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S
58
+ 57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S
59
+ 58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C
60
+ 59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S
61
+ 60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S
62
+ 61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C
63
+ 62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28,
64
+ 63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S
65
+ 64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S
66
+ 65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C
67
+ 66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C
68
+ 67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S
69
+ 68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S
70
+ 69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S
71
+ 70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S
72
+ 71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S
73
+ 72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S
74
+ 73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S
75
+ 74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C
76
+ 75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S
77
+ 76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S
78
+ 77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S
79
+ 78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S
80
+ 79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S
81
+ 80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S
82
+ 81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S
83
+ 82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S
84
+ 83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q
85
+ 84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S
86
+ 85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S
87
+ 86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S
88
+ 87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S
89
+ 88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S
90
+ 89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S
91
+ 90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S
92
+ 91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S
93
+ 92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S
94
+ 93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S
95
+ 94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S
96
+ 95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S
97
+ 96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S
98
+ 97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C
99
+ 98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C
100
+ 99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S
101
+ 100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S
102
+ 101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S
103
+ 102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S
104
+ 103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S
105
+ 104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S
106
+ 105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S
107
+ 106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S
108
+ 107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S
109
+ 108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S
110
+ 109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S
111
+ 110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q
112
+ 111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S
113
+ 112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C
114
+ 113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S
115
+ 114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S
116
+ 115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C
117
+ 116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S
118
+ 117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q
119
+ 118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S
120
+ 119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C
121
+ 120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S
122
+ 121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S
123
+ 122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S
124
+ 123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C
125
+ 124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S
126
+ 125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S
127
+ 126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C
128
+ 127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q
129
+ 128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S
130
+ 129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C
131
+ 130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S
132
+ 131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C
133
+ 132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S
134
+ 133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S
135
+ 134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S
136
+ 135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S
137
+ 136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C
138
+ 137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S
139
+ 138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S
140
+ 139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S
141
+ 140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C
142
+ 141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C
143
+ 142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S
144
+ 143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S
145
+ 144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q
146
+ 145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S
147
+ 146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S
148
+ 147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S
149
+ 148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S
150
+ 149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S
151
+ 150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S
152
+ 151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S
153
+ 152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S
154
+ 153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S
155
+ 154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S
156
+ 155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S
157
+ 156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C
158
+ 157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q
159
+ 158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S
160
+ 159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S
161
+ 160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S
162
+ 161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S
163
+ 162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S
164
+ 163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S
165
+ 164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S
166
+ 165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S
167
+ 166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S
168
+ 167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S
169
+ 168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S
170
+ 169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S
171
+ 170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S
172
+ 171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S
173
+ 172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q
174
+ 173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S
175
+ 174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S
176
+ 175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C
177
+ 176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S
178
+ 177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S
179
+ 178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C
180
+ 179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S
181
+ 180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S
182
+ 181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S
183
+ 182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C
184
+ 183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S
185
+ 184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S
186
+ 185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S
187
+ 186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S
188
+ 187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q
189
+ 188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S
190
+ 189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q
191
+ 190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S
192
+ 191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S
193
+ 192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S
194
+ 193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S
195
+ 194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S
196
+ 195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C
197
+ 196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C
198
+ 197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q
199
+ 198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S
200
+ 199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q
201
+ 200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S
202
+ 201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S
203
+ 202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S
204
+ 203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S
205
+ 204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C
206
+ 205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S
207
+ 206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S
208
+ 207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S
209
+ 208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C
210
+ 209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q
211
+ 210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C
212
+ 211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S
213
+ 212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S
214
+ 213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S
215
+ 214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S
216
+ 215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q
217
+ 216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C
218
+ 217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S
219
+ 218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S
220
+ 219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C
221
+ 220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S
222
+ 221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S
223
+ 222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S
224
+ 223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S
225
+ 224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S
226
+ 225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S
227
+ 226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S
228
+ 227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S
229
+ 228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S
230
+ 229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S
231
+ 230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S
232
+ 231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S
233
+ 232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S
234
+ 233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S
235
+ 234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S
236
+ 235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S
237
+ 236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S
238
+ 237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S
239
+ 238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S
240
+ 239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S
241
+ 240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S
242
+ 241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C
243
+ 242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q
244
+ 243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S
245
+ 244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S
246
+ 245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C
247
+ 246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q
248
+ 247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S
249
+ 248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S
250
+ 249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S
251
+ 250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S
252
+ 251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S
253
+ 252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S
254
+ 253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S
255
+ 254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S
256
+ 255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S
257
+ 256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C
258
+ 257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C
259
+ 258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S
260
+ 259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C
261
+ 260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S
262
+ 261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q
263
+ 262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S
264
+ 263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S
265
+ 264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S
266
+ 265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q
267
+ 266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S
268
+ 267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S
269
+ 268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S
270
+ 269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S
271
+ 270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S
272
+ 271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S
273
+ 272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S
274
+ 273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S
275
+ 274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C
276
+ 275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q
277
+ 276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S
278
+ 277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S
279
+ 278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S
280
+ 279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q
281
+ 280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S
282
+ 281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q
283
+ 282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S
284
+ 283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S
285
+ 284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S
286
+ 285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S
287
+ 286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C
288
+ 287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S
289
+ 288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S
290
+ 289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S
291
+ 290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q
292
+ 291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S
293
+ 292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C
294
+ 293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C
295
+ 294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S
296
+ 295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S
297
+ 296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C
298
+ 297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C
299
+ 298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S
300
+ 299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S
301
+ 300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C
302
+ 301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q
303
+ 302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q
304
+ 303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S
305
+ 304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q
306
+ 305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S
307
+ 306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S
308
+ 307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C
309
+ 308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C
310
+ 309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C
311
+ 310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C
312
+ 311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C
313
+ 312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C
314
+ 313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S
315
+ 314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S
316
+ 315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S
317
+ 316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S
318
+ 317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S
319
+ 318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S
320
+ 319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S
321
+ 320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C
322
+ 321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S
323
+ 322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S
324
+ 323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q
325
+ 324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S
326
+ 325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S
327
+ 326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C
328
+ 327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S
329
+ 328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S
330
+ 329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S
331
+ 330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C
332
+ 331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q
333
+ 332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S
334
+ 333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S
335
+ 334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S
336
+ 335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S
337
+ 336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S
338
+ 337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S
339
+ 338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C
340
+ 339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S
341
+ 340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S
342
+ 341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S
343
+ 342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S
344
+ 343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S
345
+ 344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S
346
+ 345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S
347
+ 346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S
348
+ 347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S
349
+ 348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S
350
+ 349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S
351
+ 350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S
352
+ 351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S
353
+ 352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S
354
+ 353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C
355
+ 354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S
356
+ 355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C
357
+ 356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S
358
+ 357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S
359
+ 358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S
360
+ 359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q
361
+ 360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q
362
+ 361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S
363
+ 362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C
364
+ 363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C
365
+ 364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S
366
+ 365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q
367
+ 366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S
368
+ 367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C
369
+ 368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C
370
+ 369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q
371
+ 370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C
372
+ 371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C
373
+ 372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S
374
+ 373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S
375
+ 374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C
376
+ 375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S
377
+ 376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C
378
+ 377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S
379
+ 378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C
380
+ 379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C
381
+ 380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S
382
+ 381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C
383
+ 382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C
384
+ 383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S
385
+ 384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S
386
+ 385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S
387
+ 386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S
388
+ 387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S
389
+ 388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S
390
+ 389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q
391
+ 390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C
392
+ 391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S
393
+ 392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S
394
+ 393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S
395
+ 394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C
396
+ 395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S
397
+ 396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S
398
+ 397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S
399
+ 398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S
400
+ 399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S
401
+ 400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S
402
+ 401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S
403
+ 402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S
404
+ 403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S
405
+ 404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S
406
+ 405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S
407
+ 406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S
408
+ 407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S
409
+ 408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S
410
+ 409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S
411
+ 410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S
412
+ 411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S
413
+ 412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q
414
+ 413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q
415
+ 414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S
416
+ 415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S
417
+ 416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S
418
+ 417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S
419
+ 418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S
420
+ 419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S
421
+ 420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S
422
+ 421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C
423
+ 422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q
424
+ 423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S
425
+ 424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S
426
+ 425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S
427
+ 426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S
428
+ 427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S
429
+ 428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S
430
+ 429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q
431
+ 430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S
432
+ 431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S
433
+ 432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S
434
+ 433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S
435
+ 434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S
436
+ 435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S
437
+ 436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S
438
+ 437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S
439
+ 438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S
440
+ 439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S
441
+ 440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S
442
+ 441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S
443
+ 442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S
444
+ 443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S
445
+ 444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S
446
+ 445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S
447
+ 446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S
448
+ 447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S
449
+ 448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S
450
+ 449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C
451
+ 450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S
452
+ 451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S
453
+ 452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S
454
+ 453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C
455
+ 454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C
456
+ 455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S
457
+ 456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C
458
+ 457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S
459
+ 458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S
460
+ 459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S
461
+ 460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q
462
+ 461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S
463
+ 462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S
464
+ 463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S
465
+ 464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S
466
+ 465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S
467
+ 466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S
468
+ 467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S
469
+ 468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S
470
+ 469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q
471
+ 470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C
472
+ 471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S
473
+ 472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S
474
+ 473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S
475
+ 474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C
476
+ 475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S
477
+ 476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S
478
+ 477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S
479
+ 478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S
480
+ 479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S
481
+ 480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S
482
+ 481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S
483
+ 482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S
484
+ 483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S
485
+ 484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S
486
+ 485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C
487
+ 486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S
488
+ 487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S
489
+ 488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C
490
+ 489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S
491
+ 490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S
492
+ 491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S
493
+ 492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S
494
+ 493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S
495
+ 494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C
496
+ 495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S
497
+ 496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C
498
+ 497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C
499
+ 498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S
500
+ 499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S
501
+ 500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S
502
+ 501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S
503
+ 502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q
504
+ 503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q
505
+ 504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S
506
+ 505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S
507
+ 506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C
508
+ 507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S
509
+ 508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S
510
+ 509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S
511
+ 510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S
512
+ 511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q
513
+ 512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S
514
+ 513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S
515
+ 514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C
516
+ 515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S
517
+ 516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S
518
+ 517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S
519
+ 518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q
520
+ 519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S
521
+ 520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S
522
+ 521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S
523
+ 522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S
524
+ 523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C
525
+ 524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C
526
+ 525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C
527
+ 526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q
528
+ 527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S
529
+ 528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S
530
+ 529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S
531
+ 530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S
532
+ 531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S
533
+ 532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C
534
+ 533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C
535
+ 534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C
536
+ 535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S
537
+ 536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S
538
+ 537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S
539
+ 538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C
540
+ 539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S
541
+ 540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C
542
+ 541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S
543
+ 542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S
544
+ 543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S
545
+ 544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S
546
+ 545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C
547
+ 546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S
548
+ 547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S
549
+ 548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C
550
+ 549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S
551
+ 550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S
552
+ 551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C
553
+ 552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S
554
+ 553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q
555
+ 554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C
556
+ 555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S
557
+ 556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S
558
+ 557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C
559
+ 558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C
560
+ 559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S
561
+ 560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S
562
+ 561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q
563
+ 562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S
564
+ 563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S
565
+ 564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S
566
+ 565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S
567
+ 566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S
568
+ 567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S
569
+ 568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S
570
+ 569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C
571
+ 570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S
572
+ 571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S
573
+ 572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S
574
+ 573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S
575
+ 574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q
576
+ 575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S
577
+ 576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S
578
+ 577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S
579
+ 578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S
580
+ 579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C
581
+ 580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S
582
+ 581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S
583
+ 582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C
584
+ 583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S
585
+ 584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C
586
+ 585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C
587
+ 586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S
588
+ 587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S
589
+ 588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C
590
+ 589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S
591
+ 590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S
592
+ 591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S
593
+ 592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C
594
+ 593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S
595
+ 594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q
596
+ 595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S
597
+ 596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S
598
+ 597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S
599
+ 598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S
600
+ 599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C
601
+ 600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C
602
+ 601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S
603
+ 602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S
604
+ 603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S
605
+ 604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S
606
+ 605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C
607
+ 606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S
608
+ 607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S
609
+ 608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S
610
+ 609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C
611
+ 610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S
612
+ 611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S
613
+ 612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S
614
+ 613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q
615
+ 614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q
616
+ 615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S
617
+ 616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S
618
+ 617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S
619
+ 618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S
620
+ 619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S
621
+ 620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S
622
+ 621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C
623
+ 622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S
624
+ 623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C
625
+ 624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S
626
+ 625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S
627
+ 626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S
628
+ 627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q
629
+ 628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S
630
+ 629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S
631
+ 630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q
632
+ 631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S
633
+ 632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S
634
+ 633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C
635
+ 634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S
636
+ 635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S
637
+ 636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S
638
+ 637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S
639
+ 638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S
640
+ 639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S
641
+ 640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S
642
+ 641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S
643
+ 642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C
644
+ 643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S
645
+ 644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S
646
+ 645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C
647
+ 646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C
648
+ 647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S
649
+ 648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C
650
+ 649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S
651
+ 650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S
652
+ 651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S
653
+ 652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S
654
+ 653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S
655
+ 654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q
656
+ 655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q
657
+ 656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S
658
+ 657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S
659
+ 658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q
660
+ 659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S
661
+ 660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C
662
+ 661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S
663
+ 662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C
664
+ 663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S
665
+ 664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S
666
+ 665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S
667
+ 666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S
668
+ 667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S
669
+ 668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S
670
+ 669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S
671
+ 670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S
672
+ 671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S
673
+ 672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S
674
+ 673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S
675
+ 674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S
676
+ 675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S
677
+ 676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S
678
+ 677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S
679
+ 678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S
680
+ 679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S
681
+ 680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C
682
+ 681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q
683
+ 682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C
684
+ 683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S
685
+ 684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S
686
+ 685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S
687
+ 686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C
688
+ 687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S
689
+ 688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S
690
+ 689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S
691
+ 690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S
692
+ 691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S
693
+ 692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C
694
+ 693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S
695
+ 694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C
696
+ 695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S
697
+ 696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S
698
+ 697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S
699
+ 698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q
700
+ 699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C
701
+ 700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S
702
+ 701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C
703
+ 702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S
704
+ 703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C
705
+ 704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q
706
+ 705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S
707
+ 706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S
708
+ 707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S
709
+ 708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S
710
+ 709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S
711
+ 710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C
712
+ 711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C
713
+ 712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S
714
+ 713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S
715
+ 714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S
716
+ 715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S
717
+ 716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S
718
+ 717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C
719
+ 718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S
720
+ 719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q
721
+ 720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S
722
+ 721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S
723
+ 722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S
724
+ 723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S
725
+ 724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S
726
+ 725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S
727
+ 726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S
728
+ 727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S
729
+ 728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q
730
+ 729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S
731
+ 730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S
732
+ 731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S
733
+ 732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C
734
+ 733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S
735
+ 734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S
736
+ 735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S
737
+ 736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S
738
+ 737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S
739
+ 738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C
740
+ 739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S
741
+ 740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S
742
+ 741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S
743
+ 742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S
744
+ 743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C
745
+ 744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S
746
+ 745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S
747
+ 746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S
748
+ 747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S
749
+ 748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S
750
+ 749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S
751
+ 750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q
752
+ 751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S
753
+ 752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S
754
+ 753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S
755
+ 754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S
756
+ 755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S
757
+ 756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S
758
+ 757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S
759
+ 758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S
760
+ 759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S
761
+ 760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S
762
+ 761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S
763
+ 762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S
764
+ 763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C
765
+ 764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S
766
+ 765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S
767
+ 766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S
768
+ 767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C
769
+ 768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q
770
+ 769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q
771
+ 770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S
772
+ 771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S
773
+ 772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S
774
+ 773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S
775
+ 774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C
776
+ 775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S
777
+ 776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S
778
+ 777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q
779
+ 778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S
780
+ 779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q
781
+ 780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S
782
+ 781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C
783
+ 782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S
784
+ 783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S
785
+ 784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S
786
+ 785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S
787
+ 786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S
788
+ 787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S
789
+ 788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q
790
+ 789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S
791
+ 790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C
792
+ 791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q
793
+ 792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S
794
+ 793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S
795
+ 794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C
796
+ 795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S
797
+ 796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S
798
+ 797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S
799
+ 798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S
800
+ 799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C
801
+ 800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S
802
+ 801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S
803
+ 802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S
804
+ 803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S
805
+ 804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C
806
+ 805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S
807
+ 806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S
808
+ 807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S
809
+ 808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S
810
+ 809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S
811
+ 810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S
812
+ 811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S
813
+ 812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S
814
+ 813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S
815
+ 814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S
816
+ 815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S
817
+ 816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S
818
+ 817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S
819
+ 818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C
820
+ 819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S
821
+ 820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S
822
+ 821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S
823
+ 822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S
824
+ 823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S
825
+ 824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S
826
+ 825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S
827
+ 826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q
828
+ 827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S
829
+ 828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C
830
+ 829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q
831
+ 830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28,
832
+ 831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C
833
+ 832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S
834
+ 833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C
835
+ 834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S
836
+ 835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S
837
+ 836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C
838
+ 837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S
839
+ 838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S
840
+ 839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S
841
+ 840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C
842
+ 841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S
843
+ 842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S
844
+ 843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C
845
+ 844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C
846
+ 845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S
847
+ 846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S
848
+ 847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S
849
+ 848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C
850
+ 849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S
851
+ 850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C
852
+ 851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S
853
+ 852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S
854
+ 853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C
855
+ 854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S
856
+ 855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S
857
+ 856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S
858
+ 857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S
859
+ 858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S
860
+ 859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C
861
+ 860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C
862
+ 861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S
863
+ 862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S
864
+ 863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S
865
+ 864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S
866
+ 865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S
867
+ 866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S
868
+ 867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C
869
+ 868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S
870
+ 869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S
871
+ 870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S
872
+ 871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S
873
+ 872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S
874
+ 873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S
875
+ 874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S
876
+ 875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C
877
+ 876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C
878
+ 877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S
879
+ 878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S
880
+ 879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S
881
+ 880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C
882
+ 881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S
883
+ 882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S
884
+ 883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S
885
+ 884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S
886
+ 885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S
887
+ 886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q
888
+ 887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S
889
+ 888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S
890
+ 889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S
891
+ 890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C
892
+ 891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ scikit-learn
2
+ numpy
3
+ pandas
4
+ concrete-ml==1.0.3
5
+ gradio==3.35.2
6
+ uvicorn>=0.21.0
7
+ fastapi>=0.93.0
run.py ADDED
@@ -0,0 +1,664 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ import pandas as pd
4
+ import numpy as np
5
+ from sklearn.ensemble import RandomForestClassifier
6
+ from sklearn.model_selection import train_test_split
7
+
8
+ from concrete.ml.sklearn import RandomForestClassifier as ConcreteRandomForestClassifier
9
+
10
+ import gradio as gr
11
+
12
+ from utils import (
13
+ CLIENT_DIR,
14
+ CURRENT_DIR,
15
+ DEPLOYMENT_DIR,
16
+ INPUT_BROWSER_LIMIT,
17
+ KEYS_DIR,
18
+ SERVER_URL,
19
+ TARGET_COLUMNS,
20
+ TRAINING_FILENAME,
21
+ clean_directory,
22
+ load_data,
23
+ pretty_print,
24
+ )
25
+
26
+ import requests
27
+ import subprocess
28
+ import time
29
+ from typing import Dict, List, Tuple
30
+
31
+ from concrete.ml.deployment import FHEModelClient
32
+
33
+ subprocess.Popen(["uvicorn", "server:app"], cwd=CURRENT_DIR)
34
+ time.sleep(3)
35
+
36
+ current_dir = os.path.dirname(os.path.realpath(__file__))
37
+ data = pd.read_csv(os.path.join(current_dir, "files/titanic.csv"))
38
+
39
+ def is_none(obj) -> bool:
40
+ """
41
+ Check if the object is None.
42
+
43
+ Args:
44
+ obj (any): The input to be checked.
45
+
46
+ Returns:
47
+ bool: True if the object is None or empty, False otherwise.
48
+ """
49
+ return obj is None or (obj is not None and len(obj) < 1)
50
+
51
+ def encode_age(df):
52
+ df.Age = df.Age.fillna(-0.5)
53
+ bins = (-1, 0, 5, 12, 18, 25, 35, 60, 120)
54
+ categories = pd.cut(df.Age, bins, labels=False)
55
+ df.Age = categories
56
+ return df
57
+
58
+
59
+ def encode_fare(df):
60
+ df.Fare = df.Fare.fillna(-0.5)
61
+ bins = (-1, 0, 8, 15, 31, 1000)
62
+ categories = pd.cut(df.Fare, bins, labels=False)
63
+ df.Fare = categories
64
+ return df
65
+
66
+
67
+ def encode_df(df):
68
+ df = encode_age(df)
69
+ df = encode_fare(df)
70
+ sex_mapping = {"male": 0, "female": 1}
71
+ df = df.replace({"Sex": sex_mapping})
72
+ embark_mapping = {"S": 1, "C": 2, "Q": 3}
73
+ df = df.replace({"Embarked": embark_mapping})
74
+ df.Embarked = df.Embarked.fillna(0)
75
+ df["Company"] = 0
76
+ df.loc[(df["SibSp"] > 0), "Company"] = 1
77
+ df.loc[(df["Parch"] > 0), "Company"] = 2
78
+ df.loc[(df["SibSp"] > 0) & (df["Parch"] > 0), "Company"] = 3
79
+ df = df[
80
+ [
81
+ "PassengerId",
82
+ "Pclass",
83
+ "Sex",
84
+ "Age",
85
+ "Fare",
86
+ "Embarked",
87
+ "Company",
88
+ "Survived",
89
+ ]
90
+ ]
91
+ return df
92
+
93
+
94
+ train = encode_df(data)
95
+
96
+ X_all = train.drop(["Survived", "PassengerId"], axis=1)
97
+ y_all = train["Survived"]
98
+
99
+ num_test = 0.20
100
+ X_train, X_test, y_train, y_test = train_test_split(
101
+ X_all, y_all, test_size=num_test, random_state=23
102
+ )
103
+
104
+ clf = RandomForestClassifier()
105
+ clf.fit(X_train, y_train)
106
+ predictions = clf.predict(X_test)
107
+
108
+ n_estimators = 50
109
+ max_depth = 4
110
+ n_bits = 6
111
+ n_jobs_xgb = 1
112
+ n_jobs_gridsearch = -1
113
+ concrete_clf = ConcreteRandomForestClassifier(
114
+ n_bits=n_bits, n_estimators=n_estimators, max_depth=max_depth, n_jobs=n_jobs_xgb
115
+ )
116
+ concrete_clf.fit(X_train, y_train)
117
+ concrete_predictions = concrete_clf.predict(X_test)
118
+
119
+ def predict_survival(passenger_class, is_male, age, company, fare, embark_point):
120
+ if passenger_class is None or embark_point is None:
121
+ return None
122
+ df = pd.DataFrame.from_dict(
123
+ {
124
+ "Pclass": [passenger_class + 1],
125
+ "Sex": [0 if is_male else 1],
126
+ "Age": [age],
127
+ "Fare": [fare],
128
+ "Embarked": [embark_point + 1],
129
+ "Company": [
130
+ (1 if "Sibling" in company else 0) + (2 if "Child" in company else 0)
131
+ ]
132
+ }
133
+ )
134
+ df = encode_age(df)
135
+ df = encode_fare(df)
136
+ pred = clf.predict_proba(df)[0]
137
+ return {"Perishes": float(pred[0]), "Survives": float(pred[1])}
138
+
139
+ def collect_input(passenger_class, is_male, age, company, fare, embark_point):
140
+ if passenger_class is None or embark_point is None:
141
+ return None
142
+ input_dict = {
143
+ "Pclass": [passenger_class + 1],
144
+ "Sex": [0 if is_male else 1],
145
+ "Age": [age],
146
+ "Fare": [fare],
147
+ "Embarked": [embark_point + 1],
148
+ "Company": [
149
+ (1 if "Sibling" in company else 0) + (2 if "Child" in company else 0)
150
+ ]
151
+ }
152
+ print(input_dict)
153
+ return input_dict
154
+
155
+ def clear_predict_survival(input_dict):
156
+ df = pd.DataFrame.from_dict(input_dict)
157
+ df = encode_age(df)
158
+ df = encode_fare(df)
159
+ pred = clf.predict_proba(df)[0]
160
+ return {"Perishes": float(pred[0]), "Survives": float(pred[1])}
161
+
162
+ def concrete_predict_survival(input_dict):
163
+ df = pd.DataFrame.from_dict(input_dict)
164
+ df = encode_age(df)
165
+ df = encode_fare(df)
166
+ pred = concrete_clf.predict_proba(df)[0]
167
+ return {"Perishes": float(pred[0]), "Survives": float(pred[1])}
168
+
169
+ print("\nclear_test ", clear_predict_survival({'Pclass': [1], 'Sex': [0], 'Age': [25], 'Fare': [20.0], 'Embarked': [2], 'Company': [1]}))
170
+
171
+ print("encrypted_test", concrete_predict_survival({'Pclass': [1], 'Sex': [0], 'Age': [25], 'Fare': [20.0], 'Embarked': [2], 'Company': [1]}),"\n")
172
+
173
+
174
+ def key_gen_fn() -> Dict:
175
+ """
176
+ Generate keys for a given user.
177
+
178
+ Args:
179
+
180
+ Returns:
181
+ dict: A dictionary containing the generated keys and related information.
182
+
183
+ """
184
+ clean_directory()
185
+
186
+ # Generate a random user ID
187
+ user_id = np.random.randint(0, 2**32)
188
+ print(f"Your user ID is: {user_id}....")
189
+
190
+ client = FHEModelClient(path_dir=DEPLOYMENT_DIR, key_dir=KEYS_DIR / f"{user_id}")
191
+ client.load()
192
+
193
+ # Creates the private and evaluation keys on the client side
194
+ client.generate_private_and_evaluation_keys()
195
+
196
+ # Get the serialized evaluation keys
197
+ serialized_evaluation_keys = client.get_serialized_evaluation_keys()
198
+ assert isinstance(serialized_evaluation_keys, bytes)
199
+
200
+ # Save the evaluation key
201
+ evaluation_key_path = KEYS_DIR / f"{user_id}/evaluation_key"
202
+ with evaluation_key_path.open("wb") as f:
203
+ f.write(serialized_evaluation_keys)
204
+
205
+ serialized_evaluation_keys_shorten_hex = serialized_evaluation_keys.hex()[:INPUT_BROWSER_LIMIT]
206
+
207
+ return {
208
+ error_box2: gr.update(visible=False),
209
+ key_box: gr.update(visible=True, value=serialized_evaluation_keys_shorten_hex),
210
+ user_id_box: gr.update(visible=True, value=user_id),
211
+ key_len_box: gr.update(
212
+ visible=True, value=f"{len(serialized_evaluation_keys) / (10**6):.2f} MB"
213
+ ),
214
+ }
215
+
216
+ def encrypt_fn(user_inputs: np.ndarray, user_id: str) -> None:
217
+ """
218
+ """
219
+
220
+ if is_none(user_id) or is_none(user_inputs):
221
+ print("Error in encryption step: Provide your inputs and generate the evaluation keys.")
222
+ return {
223
+ error_box3: gr.update(
224
+ visible=True,
225
+ value="⚠️ Please ensure that your inputs have been submitted and "
226
+ "that you have generated the evaluation key.",
227
+ )
228
+ }
229
+
230
+ # Retrieve the client API
231
+ client = FHEModelClient(path_dir=DEPLOYMENT_DIR, key_dir=KEYS_DIR / f"{user_id}")
232
+ client.load()
233
+
234
+ # user_inputs = np.fromstring(user_symptoms[2:-2], dtype=int, sep=".").reshape(1, -1)
235
+ # quant_user_symptoms = client.model.quantize_input(user_inputs)
236
+
237
+ user_inputs_df = pd.DataFrame.from_dict(user_inputs)
238
+ user_inputs_df = encode_age(user_inputs_df)
239
+ user_inputs_df = encode_fare(user_inputs_df)
240
+
241
+ print("user_inputs to be encrypted =\n", user_inputs_df)
242
+ print("user_inputs to be encrypted =\n", user_inputs_df.to_numpy())
243
+
244
+ encrypted_quantized_user_inputs = client.quantize_encrypt_serialize(user_inputs_df.to_numpy())
245
+
246
+ assert isinstance(encrypted_quantized_user_inputs, bytes)
247
+ encrypted_input_path = KEYS_DIR / f"{user_id}/encrypted_input"
248
+
249
+ with encrypted_input_path.open("wb") as f:
250
+ f.write(encrypted_quantized_user_inputs)
251
+
252
+ encrypted_quantized_user_inputs_shorten_hex = encrypted_quantized_user_inputs.hex()[
253
+ :INPUT_BROWSER_LIMIT
254
+ ]
255
+
256
+ return {
257
+ error_box3: gr.update(visible=False),
258
+ input_dict_box: gr.update(visible=True, value=user_inputs),
259
+ enc_dict_box: gr.update(visible=True, value=encrypted_quantized_user_inputs_shorten_hex),
260
+ }
261
+
262
+ def send_input_fn(user_id: str, user_inputs: np.ndarray) -> Dict:
263
+ """Send the encrypted data and the evaluation key to the server.
264
+ """
265
+
266
+ if is_none(user_id) or is_none(user_inputs):
267
+ return {
268
+ error_box4: gr.update(
269
+ visible=True,
270
+ value="⚠️ Please check your connectivity \n"
271
+ "⚠️ Ensure that the symptoms have been submitted and the evaluation "
272
+ "key has been generated before sending the data to the server.",
273
+ )
274
+ }
275
+
276
+ evaluation_key_path = KEYS_DIR / f"{user_id}/evaluation_key"
277
+ encrypted_input_path = KEYS_DIR / f"{user_id}/encrypted_input"
278
+
279
+ if not evaluation_key_path.is_file():
280
+ print(
281
+ "Error Encountered While Sending Data to the Server: "
282
+ f"The key has been generated correctly - {evaluation_key_path.is_file()=}"
283
+ )
284
+
285
+ return {
286
+ error_box4: gr.update(visible=True, value="⚠️ Please generate the private key first.")
287
+ }
288
+
289
+ if not encrypted_input_path.is_file():
290
+ print(
291
+ "Error Encountered While Sending Data to the Server: The data has not been encrypted "
292
+ f"correctly on the client side - {encrypted_input_path.is_file()=}"
293
+ )
294
+ return {
295
+ error_box4: gr.update(
296
+ visible=True,
297
+ value="⚠️ Please encrypt the data with the private key first.",
298
+ ),
299
+ }
300
+
301
+ # Define the data and files to post
302
+ data = {
303
+ "user_id": user_id,
304
+ "input": user_inputs,
305
+ }
306
+
307
+ files = [
308
+ ("files", open(encrypted_input_path, "rb")),
309
+ ("files", open(evaluation_key_path, "rb")),
310
+ ]
311
+
312
+ # Send the encrypted input and evaluation key to the server
313
+ url = SERVER_URL + "send_input"
314
+ with requests.post(
315
+ url=url,
316
+ data=data,
317
+ files=files,
318
+ ) as response:
319
+ print(f"Sending Data: {response.ok=}")
320
+ return {
321
+ error_box4: gr.update(visible=False),
322
+ srv_resp_send_data_box: "Data sent",
323
+ }
324
+
325
+ def run_fhe_fn(user_id: str) -> Dict:
326
+ """Send the encrypted input and the evaluation key to the server.
327
+
328
+ Args:
329
+ user_id (int): The current user's ID.
330
+ """
331
+ if is_none(user_id):
332
+ return {
333
+ error_box5: gr.update(
334
+ visible=True,
335
+ value="⚠️ Please check your connectivity \n"
336
+ "⚠️ Ensure that the symptoms have been submitted, the evaluation "
337
+ "key has been generated and the server received the data "
338
+ "before processing the data.",
339
+ ),
340
+ fhe_execution_time_box: None,
341
+ }
342
+
343
+ data = {
344
+ "user_id": user_id,
345
+ }
346
+
347
+ url = SERVER_URL + "run_fhe"
348
+
349
+ with requests.post(
350
+ url=url,
351
+ data=data,
352
+ ) as response:
353
+ if not response.ok:
354
+ return {
355
+ error_box5: gr.update(
356
+ visible=True,
357
+ value=(
358
+ "⚠️ An error occurred on the Server Side. "
359
+ "Please check connectivity and data transmission."
360
+ ),
361
+ ),
362
+ fhe_execution_time_box: gr.update(visible=False),
363
+ }
364
+ else:
365
+ time.sleep(1)
366
+ print(f"response.ok: {response.ok}, {response.json()} - Computed")
367
+
368
+ return {
369
+ error_box5: gr.update(visible=False),
370
+ fhe_execution_time_box: gr.update(visible=True, value=f"{response.json():.2f} seconds"),
371
+ }
372
+
373
+ def send_input_fn(user_id: str, user_inputs: np.ndarray) -> Dict:
374
+ """Send the encrypted data and the evaluation key to the server.
375
+ """
376
+
377
+ if is_none(user_id) or is_none(user_inputs):
378
+ return {
379
+ error_box4: gr.update(
380
+ visible=True,
381
+ value="⚠️ Please check your connectivity \n"
382
+ "⚠️ Ensure that the symptoms have been submitted and the evaluation "
383
+ "key has been generated before sending the data to the server.",
384
+ )
385
+ }
386
+
387
+ evaluation_key_path = KEYS_DIR / f"{user_id}/evaluation_key"
388
+ encrypted_input_path = KEYS_DIR / f"{user_id}/encrypted_input"
389
+
390
+ if not evaluation_key_path.is_file():
391
+ print(
392
+ "Error Encountered While Sending Data to the Server: "
393
+ f"The key has been generated correctly - {evaluation_key_path.is_file()=}"
394
+ )
395
+
396
+ return {
397
+ error_box4: gr.update(visible=True, value="⚠️ Please generate the private key first.")
398
+ }
399
+
400
+ if not encrypted_input_path.is_file():
401
+ print(
402
+ "Error Encountered While Sending Data to the Server: The data has not been encrypted "
403
+ f"correctly on the client side - {encrypted_input_path.is_file()=}"
404
+ )
405
+ return {
406
+ error_box4: gr.update(
407
+ visible=True,
408
+ value="⚠️ Please encrypt the data with the private key first.",
409
+ ),
410
+ }
411
+
412
+ # Define the data and files to post
413
+ data = {
414
+ "user_id": user_id,
415
+ "input": user_inputs,
416
+ }
417
+
418
+ files = [
419
+ ("files", open(encrypted_input_path, "rb")),
420
+ ("files", open(evaluation_key_path, "rb")),
421
+ ]
422
+
423
+ # Send the encrypted input and evaluation key to the server
424
+ url = SERVER_URL + "send_input"
425
+ with requests.post(
426
+ url=url,
427
+ data=data,
428
+ files=files,
429
+ ) as response:
430
+ print(f"Sending Data: {response.ok=}")
431
+ return {
432
+ error_box4: gr.update(visible=False),
433
+ srv_resp_send_data_box: "Data sent",
434
+ }
435
+
436
+ def get_output_fn(user_id: str, user_inputs: np.ndarray) -> Dict:
437
+ """Retreive the encrypted data from the server.
438
+ """
439
+
440
+ if is_none(user_id) or is_none(user_inputs):
441
+ return {
442
+ error_box6: gr.update(
443
+ visible=True,
444
+ value="⚠️ Please check your connectivity \n"
445
+ "⚠️ Ensure that the server has successfully processed and transmitted the data to the client.",
446
+ )
447
+ }
448
+
449
+ data = {
450
+ "user_id": user_id,
451
+ }
452
+
453
+ # Retrieve the encrypted output
454
+ url = SERVER_URL + "get_output"
455
+ with requests.post(
456
+ url=url,
457
+ data=data,
458
+ ) as response:
459
+ if response.ok:
460
+ print(f"Receive Data: {response.ok=}")
461
+
462
+ encrypted_output = response.content
463
+
464
+ # Save the encrypted output to bytes in a file as it is too large to pass through
465
+ # regular Gradio buttons (see https://github.com/gradio-app/gradio/issues/1877)
466
+ encrypted_output_path = CLIENT_DIR / f"{user_id}_encrypted_output"
467
+
468
+ with encrypted_output_path.open("wb") as f:
469
+ f.write(encrypted_output)
470
+ return {error_box6: gr.update(visible=False), srv_resp_retrieve_data_box: "Data received"}
471
+
472
+ def decrypt_fn(user_id: str, user_inputs: np.ndarray) -> Dict:
473
+ """Dencrypt the data on the `Client Side`.
474
+ Args:
475
+ user_id (str): The current user's ID
476
+ user_inputs (np.ndarray): The user inputs
477
+ Returns:
478
+ Decrypted output
479
+ """
480
+
481
+ if is_none(user_id) or is_none(user_inputs):
482
+ return {
483
+ error_box7: gr.update(
484
+ visible=True,
485
+ value="⚠️ Please check your connectivity \n"
486
+ "⚠️ Ensure that the client has successfully received the data from the server.",
487
+ )
488
+ }
489
+
490
+ # Get the encrypted output path
491
+ encrypted_output_path = CLIENT_DIR / f"{user_id}_encrypted_output"
492
+
493
+ if not encrypted_output_path.is_file():
494
+ print("Error in decryption step: Please run the FHE execution, first.")
495
+ return {
496
+ error_box7: gr.update(
497
+ visible=True,
498
+ value="⚠️ Please ensure that: \n"
499
+ "- the connectivity \n"
500
+ "- the inputs have been submitted \n"
501
+ "- the evaluation key has been generated \n"
502
+ "- the server processed the encrypted data \n"
503
+ "- the Client received the data from the Server before decrypting the prediction",
504
+ ),
505
+ decrypt_box: None,
506
+ }
507
+
508
+ # Load the encrypted output as bytes
509
+ with encrypted_output_path.open("rb") as f:
510
+ encrypted_output = f.read()
511
+
512
+ # Retrieve the client API
513
+ client = FHEModelClient(path_dir=DEPLOYMENT_DIR, key_dir=KEYS_DIR / f"{user_id}")
514
+ client.load()
515
+
516
+ # Deserialize, decrypt and post-process the encrypted output
517
+ output = client.deserialize_decrypt_dequantize(encrypted_output)
518
+
519
+ print("output =\n", output)
520
+
521
+ # top3_diseases = np.argsort(output.flatten())[-3:][::-1]
522
+ # top3_proba = output[0][top3_diseases]
523
+
524
+ out = {"Perishes": float(output[0][0]), "Survives": float(output[0][1])}
525
+
526
+ print("output =\n", out)
527
+
528
+ return {
529
+ error_box7: gr.update(visible=False),
530
+ decrypt_box: out,
531
+ label: out,
532
+ }
533
+
534
+ with gr.Blocks() as demo:
535
+
536
+ # Step 1.1: Provide inputs
537
+ with gr.Row():
538
+ inp = [
539
+ gr.Dropdown(["first", "second", "third"], type="index"),
540
+ gr.Checkbox(label="is_male"),
541
+ gr.Slider(0, 80, value=25),
542
+ gr.CheckboxGroup(["Sibling", "Child"], label="Travelling with (select all)"),
543
+ gr.Number(value=20),
544
+ gr.Radio(["S", "C", "Q"], type="index"),
545
+ ]
546
+ out = gr.JSON()
547
+ btn = gr.Button("Run")
548
+ btn.click(fn=collect_input, inputs=inp, outputs=out)
549
+
550
+ # Step 2.1: Key generation
551
+
552
+ gen_key_btn = gr.Button("Generate the evaluation key")
553
+ error_box2 = gr.Textbox(label="Error ❌", visible=False)
554
+ user_id_box = gr.Textbox(label="User ID:", visible=True)
555
+ key_len_box = gr.Textbox(label="Evaluation Key Size:", visible=False)
556
+ key_box = gr.Textbox(label="Evaluation key (truncated):", max_lines=3, visible=False)
557
+
558
+ gen_key_btn.click(
559
+ key_gen_fn,
560
+ inputs=None,
561
+ outputs=[
562
+ key_box,
563
+ user_id_box,
564
+ key_len_box,
565
+ error_box2,
566
+ ],
567
+ )
568
+
569
+ # # Step 2.2: Encrypt data locally
570
+ gr.Markdown("### Encrypt the data")
571
+ encrypt_btn = gr.Button("Encrypt the data using the private secret key")
572
+ error_box3 = gr.Textbox(label="Error ❌", visible=False)
573
+
574
+ with gr.Row():
575
+ with gr.Column():
576
+ input_dict_box = gr.Textbox(label="input_dict_box:", max_lines=10)
577
+ with gr.Column():
578
+ enc_dict_box = gr.Textbox(label="input_dict_box:", max_lines=10)
579
+
580
+ encrypt_btn.click(
581
+ encrypt_fn,
582
+ inputs=[out, user_id_box],
583
+ outputs=[
584
+ input_dict_box,
585
+ enc_dict_box,
586
+ error_box3,
587
+ ],
588
+ )
589
+ # # Step 2.3: Send encrypted data to the server
590
+ gr.Markdown(
591
+ "### Send the encrypted data to the <span style='color:grey'>Server Side</span>"
592
+ )
593
+ error_box4 = gr.Textbox(label="Error ❌", visible=False)
594
+
595
+ with gr.Row().style(equal_height=False):
596
+ with gr.Column(scale=4):
597
+ send_input_btn = gr.Button("Send data")
598
+ with gr.Column(scale=1):
599
+ srv_resp_send_data_box = gr.Checkbox(label="Data Sent", show_label=False)
600
+
601
+ send_input_btn.click(
602
+ send_input_fn,
603
+ inputs=[user_id_box, out],
604
+ outputs=[error_box4, srv_resp_send_data_box],
605
+ )
606
+
607
+ # ------------------------- Step 3 -------------------------
608
+ gr.Markdown("\n")
609
+ gr.Markdown("## Step 3: Run the FHE evaluation")
610
+ gr.Markdown("<hr />")
611
+ gr.Markdown("<span style='color:grey'>Server Side</span>")
612
+ gr.Markdown(
613
+ "Once the server receives the encrypted data, it can process and compute the output without ever decrypting the data just as it would on clear data.\n\n"
614
+ )
615
+
616
+ run_fhe_btn = gr.Button("Run the FHE evaluation")
617
+ error_box5 = gr.Textbox(label="Error ❌", visible=False)
618
+ fhe_execution_time_box = gr.Textbox(label="Total FHE Execution Time:", visible=True)
619
+ run_fhe_btn.click(
620
+ run_fhe_fn,
621
+ inputs=[user_id_box],
622
+ outputs=[fhe_execution_time_box, error_box5],
623
+ )
624
+
625
+ # ------------------------- Step 4 -------------------------
626
+ gr.Markdown("\n")
627
+ gr.Markdown("## Step 4: Decrypt the data")
628
+ gr.Markdown("<hr />")
629
+ gr.Markdown("<span style='color:grey'>Client Side</span>")
630
+ gr.Markdown(
631
+ "### Get the encrypted data from the <span style='color:grey'>Server Side</span>"
632
+ )
633
+
634
+ error_box6 = gr.Textbox(label="Error ❌", visible=False)
635
+
636
+ # Step 4.1: Data transmission
637
+ with gr.Row().style(equal_height=True):
638
+ with gr.Column(scale=4):
639
+ get_output_btn = gr.Button("Get data")
640
+ with gr.Column(scale=1):
641
+ srv_resp_retrieve_data_box = gr.Checkbox(label="Data Received", show_label=False)
642
+
643
+ get_output_btn.click(
644
+ get_output_fn,
645
+ inputs=[user_id_box, out],
646
+ outputs=[srv_resp_retrieve_data_box, error_box6],
647
+ )
648
+
649
+ # Step 4.1: Data transmission
650
+ gr.Markdown("### Decrypt the output")
651
+ decrypt_btn = gr.Button("Decrypt the output using the private secret key")
652
+ error_box7 = gr.Textbox(label="Error ❌", visible=False)
653
+ decrypt_box = gr.Textbox(label="Decrypted Output:")
654
+ label = gr.Label()
655
+
656
+ decrypt_btn.click(
657
+ decrypt_fn,
658
+ inputs=[user_id_box, out],
659
+ outputs=[decrypt_box, error_box7, label],
660
+ )
661
+
662
+ # ------------------------- End -------------------------
663
+
664
+ demo.launch()
server.py ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Server that will listen for GET and POST requests from the client."""
2
+
3
+ import time
4
+ from typing import List
5
+
6
+ from fastapi import FastAPI, File, Form, UploadFile
7
+ from fastapi.responses import JSONResponse, Response
8
+ from utils import DEPLOYMENT_DIR, SERVER_DIR # pylint: disable=no-name-in-module
9
+
10
+ from concrete.ml.deployment import FHEModelServer
11
+
12
+ # Initialize an instance of FastAPI
13
+ app = FastAPI()
14
+
15
+ # Define the default route
16
+ @app.get("/")
17
+ def root():
18
+ """
19
+ Root endpoint of the health prediction API.
20
+
21
+ Returns:
22
+ dict: The welcome message.
23
+ """
24
+ return {"message": "Welcome to your disease prediction with FHE!"}
25
+
26
+
27
+ @app.post("/send_input")
28
+ def send_input(
29
+ user_id: str = Form(),
30
+ files: List[UploadFile] = File(),
31
+ ):
32
+ """Send the inputs to the server."""
33
+
34
+ print("\nSend the data to the server ............\n")
35
+
36
+ # Receive the Client's files (Evaluation key + Encrypted symptoms)
37
+ evaluation_key_path = SERVER_DIR / f"{user_id}_valuation_key"
38
+ encrypted_input_path = SERVER_DIR / f"{user_id}_encrypted_input"
39
+
40
+ # Save the files using the above paths
41
+ with encrypted_input_path.open("wb") as encrypted_input, evaluation_key_path.open(
42
+ "wb"
43
+ ) as evaluation_key:
44
+ encrypted_input.write(files[0].file.read())
45
+ evaluation_key.write(files[1].file.read())
46
+
47
+
48
+ @app.post("/run_fhe")
49
+ def run_fhe(
50
+ user_id: str = Form(),
51
+ ):
52
+ """Inference in FHE."""
53
+
54
+ print("\nRun in FHE in the server ............\n")
55
+ evaluation_key_path = SERVER_DIR / f"{user_id}_valuation_key"
56
+ encrypted_input_path = SERVER_DIR / f"{user_id}_encrypted_input"
57
+
58
+ # Read the files (Evaluation key + Encrypted symptoms) using the above paths
59
+ with encrypted_input_path.open("rb") as encrypted_output_file, evaluation_key_path.open(
60
+ "rb"
61
+ ) as evaluation_key_file:
62
+ encrypted_output = encrypted_output_file.read()
63
+ evaluation_key = evaluation_key_file.read()
64
+
65
+ # Load the FHE server and the model
66
+ fhe_server = FHEModelServer(DEPLOYMENT_DIR)
67
+
68
+ # Run the FHE execution
69
+ start = time.time()
70
+ encrypted_output = fhe_server.run(encrypted_output, evaluation_key)
71
+ assert isinstance(encrypted_output, bytes)
72
+ fhe_execution_time = round(time.time() - start, 2)
73
+
74
+ # Retrieve the encrypted output path
75
+ encrypted_output_path = SERVER_DIR / f"{user_id}_encrypted_output"
76
+
77
+ # Write the file using the above path
78
+ with encrypted_output_path.open("wb") as f:
79
+ f.write(encrypted_output)
80
+
81
+ return JSONResponse(content=fhe_execution_time)
82
+
83
+
84
+ @app.post("/get_output")
85
+ def get_output(user_id: str = Form()):
86
+ """Retrieve the encrypted output from the server."""
87
+
88
+ print("\nGet the output from the server ............\n")
89
+
90
+ # Path where the encrypted output is saved
91
+ encrypted_output_path = SERVER_DIR / f"{user_id}_encrypted_output"
92
+
93
+ # Read the file using the above path
94
+ with encrypted_output_path.open("rb") as f:
95
+ encrypted_output = f.read()
96
+
97
+ time.sleep(1)
98
+
99
+ # Send the encrypted output
100
+ return Response(encrypted_output)
train.py ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import time
3
+ import numpy
4
+ import pandas as pd
5
+ import torch
6
+
7
+ from sklearn.ensemble import RandomForestClassifier
8
+ from sklearn.model_selection import train_test_split
9
+
10
+ from sklearn.metrics import average_precision_score
11
+ from sklearn.model_selection import GridSearchCV, train_test_split
12
+
13
+ from concrete.ml.sklearn import RandomForestClassifier as ConcreteRandomForestClassifier
14
+
15
+ def train(dev_folder="./dev"):
16
+ # Download the data-sets
17
+ if not os.path.isfile("./files/titanic.csv"):
18
+ raise ValueError(
19
+ "no dataset"
20
+ )
21
+
22
+ current_dir = os.path.dirname(os.path.realpath(__file__))
23
+ data = pd.read_csv(os.path.join(current_dir, "files/titanic.csv"))
24
+
25
+ def encode_age(df):
26
+ df.Age = df.Age.fillna(-0.5)
27
+ bins = (-1, 0, 5, 12, 18, 25, 35, 60, 120)
28
+ categories = pd.cut(df.Age, bins, labels=False)
29
+ df.Age = categories
30
+ return df
31
+
32
+
33
+ def encode_fare(df):
34
+ df.Fare = df.Fare.fillna(-0.5)
35
+ bins = (-1, 0, 8, 15, 31, 1000)
36
+ categories = pd.cut(df.Fare, bins, labels=False)
37
+ df.Fare = categories
38
+ return df
39
+
40
+
41
+ def encode_df(df):
42
+ df = encode_age(df)
43
+ df = encode_fare(df)
44
+ sex_mapping = {"male": 0, "female": 1}
45
+ df = df.replace({"Sex": sex_mapping})
46
+ embark_mapping = {"S": 1, "C": 2, "Q": 3}
47
+ df = df.replace({"Embarked": embark_mapping})
48
+ df.Embarked = df.Embarked.fillna(0)
49
+ df["Company"] = 0
50
+ df.loc[(df["SibSp"] > 0), "Company"] = 1
51
+ df.loc[(df["Parch"] > 0), "Company"] = 2
52
+ df.loc[(df["SibSp"] > 0) & (df["Parch"] > 0), "Company"] = 3
53
+ df = df[
54
+ [
55
+ "PassengerId",
56
+ "Pclass",
57
+ "Sex",
58
+ "Age",
59
+ "Fare",
60
+ "Embarked",
61
+ "Company",
62
+ "Survived",
63
+ ]
64
+ ]
65
+ return df
66
+
67
+ train = encode_df(data)
68
+
69
+ X_all = train.drop(["Survived", "PassengerId"], axis=1)
70
+ y_all = train["Survived"]
71
+
72
+ num_test = 0.20
73
+ X_train, X_test, y_train, y_test = train_test_split(
74
+ X_all, y_all, test_size=num_test, random_state=23
75
+ )
76
+
77
+ # n_estimators = 50
78
+ # max_depth = 4
79
+ # n_bits = 6
80
+ # n_jobs_xgb = 1
81
+ # n_jobs_gridsearch = -1
82
+
83
+ # A gridsearch to find the best parameters
84
+ parameters = {
85
+ "n_bits": [6],
86
+ "max_depth": [4, 8],
87
+ "n_estimators": [30, 50],
88
+ "n_jobs": [-1],
89
+ }
90
+
91
+ concrete_clf = ConcreteRandomForestClassifier()
92
+ # concrete_clf.fit(X_train, y_train)
93
+ # concrete_predictions = concrete_clf.predict(X_test)
94
+
95
+ grid_search = GridSearchCV(concrete_clf, parameters, cv=3, n_jobs=-1, scoring="accuracy")
96
+ grid_search.fit(X_train, y_train)
97
+
98
+ # Check the accuracy of the best model
99
+ print(f"Best score: {grid_search.best_score_}")
100
+
101
+ # Check best hyper-parameters
102
+ print(f"Best parameters: {grid_search.best_params_}")
103
+
104
+ # Extract best model
105
+ best_model = grid_search.best_estimator_
106
+ assert isinstance(best_model, ConcreteRandomForestClassifier)
107
+
108
+ best_model.compile(X_train)
109
+
110
+ # Export the final model such that we can reuse it in a client/server environment
111
+
112
+ # Save the model to be pushed to a server later
113
+ from concrete.ml.deployment import FHEModelDev
114
+
115
+ fhe_api = FHEModelDev(dev_folder, best_model)
116
+ fhe_api.save()
117
+
118
+
119
+ if __name__ == "__main__":
120
+ train()
utils.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import shutil
3
+ from pathlib import Path
4
+ from typing import List, Tuple, Union
5
+
6
+ import numpy
7
+ import pandas
8
+
9
+ from concrete.ml.sklearn import XGBClassifier as ConcreteXGBoostClassifier
10
+
11
+ # Max Input to be displayed on the HuggingFace space brower using Gradio
12
+ # Too large inputs, slow down the server: https://github.com/gradio-app/gradio/issues/1877
13
+ INPUT_BROWSER_LIMIT = 400
14
+
15
+ # Store the server's URL
16
+ SERVER_URL = "http://localhost:8000/"
17
+
18
+ CURRENT_DIR = Path(__file__).parent
19
+ DEPLOYMENT_DIR = CURRENT_DIR / "deployment_logit"
20
+ KEYS_DIR = DEPLOYMENT_DIR / ".fhe_keys"
21
+ CLIENT_DIR = DEPLOYMENT_DIR / "client_dir"
22
+ SERVER_DIR = DEPLOYMENT_DIR / "server_dir"
23
+
24
+ ALL_DIRS = [KEYS_DIR, CLIENT_DIR, SERVER_DIR]
25
+
26
+ # Columns that define the target
27
+ TARGET_COLUMNS = ["prognosis_encoded", "prognosis"]
28
+
29
+ TRAINING_FILENAME = "./data/Training_preprocessed.csv"
30
+ TESTING_FILENAME = "./data/Testing_preprocessed.csv"
31
+
32
+ # pylint: disable=invalid-name
33
+
34
+
35
+ def pretty_print(
36
+ inputs, case_conversion=str.title, which_replace: str = "_", to_what: str = " ", delimiter=None
37
+ ):
38
+ """
39
+ Prettify and sort the input as a list of string.
40
+
41
+ Args:
42
+ inputs (Any): The inputs to be prettified.
43
+
44
+ Returns:
45
+ List: The prettified and sorted list of inputs.
46
+
47
+ """
48
+ # Flatten the list if required
49
+ pretty_list = []
50
+ for item in inputs:
51
+ if isinstance(item, list):
52
+ pretty_list.extend(item)
53
+ else:
54
+ pretty_list.append(item)
55
+
56
+ # Sort
57
+ pretty_list = sorted(list(set(pretty_list)))
58
+ # Replace
59
+ pretty_list = [item.replace(which_replace, to_what) for item in pretty_list]
60
+ pretty_list = [case_conversion(item) for item in pretty_list]
61
+ if delimiter:
62
+ pretty_list = f"{delimiter.join(pretty_list)}."
63
+
64
+ return pretty_list
65
+
66
+
67
+ def clean_directory() -> None:
68
+ """
69
+ Clear direcgtories
70
+ """
71
+ print("Cleaning...\n")
72
+ for target_dir in ALL_DIRS:
73
+ if os.path.exists(target_dir) and os.path.isdir(target_dir):
74
+ shutil.rmtree(target_dir)
75
+ target_dir.mkdir(exist_ok=True, parents=True)
76
+
77
+
78
+ def get_disease_name(encoded_prediction: int, file_name: str = TRAINING_FILENAME) -> str:
79
+ """Return the disease name given its encoded label.
80
+
81
+ Args:
82
+ encoded_prediction (int): The encoded prediction
83
+ file_name (str): The data file path
84
+
85
+ Returns:
86
+ str: The according disease name
87
+ """
88
+ df = pandas.read_csv(file_name, usecols=TARGET_COLUMNS).drop_duplicates()
89
+ disease_name, _ = df[df[TARGET_COLUMNS[0]] == encoded_prediction].values.flatten()
90
+ return disease_name
91
+
92
+
93
+ def load_data() -> Union[Tuple[pandas.DataFrame, numpy.ndarray], List]:
94
+ """
95
+ Return the data
96
+
97
+ Args:
98
+ None
99
+
100
+ Return:
101
+ The train, testing set and valid symptoms.
102
+ """
103
+ # Load data
104
+ df_train = pandas.read_csv(TRAINING_FILENAME)
105
+ df_test = pandas.read_csv(TESTING_FILENAME)
106
+
107
+ # Separate the traget from the training / testing set:
108
+ # TARGET_COLUMNS[0] -> "prognosis_encoded" -> contains the numeric label of the disease
109
+ # TARGET_COLUMNS[1] -> "prognosis" -> contains the name of the disease
110
+
111
+ y_train = df_train[TARGET_COLUMNS[0]]
112
+ X_train = df_train.drop(columns=TARGET_COLUMNS, axis=1, errors="ignore")
113
+
114
+ y_test = df_test[TARGET_COLUMNS[0]]
115
+ X_test = df_test.drop(columns=TARGET_COLUMNS, axis=1, errors="ignore")
116
+
117
+ return (
118
+ (X_train, X_test),
119
+ (y_train, y_test),
120
+ X_train.columns.to_list(),
121
+ df_train[TARGET_COLUMNS[1]].unique().tolist(),
122
+ )
123
+
124
+
125
+ def load_model(X_train: pandas.DataFrame, y_train: numpy.ndarray):
126
+ """
127
+ Load a pre-trained serialized model
128
+
129
+ Args:
130
+ X_train (pandas.DataFrame): Training set
131
+ y_train (numpy.ndarray): Targets of the training set
132
+
133
+ Return:
134
+ The Concrete ML model and its circuit
135
+ """
136
+ # Parameters
137
+ concrete_args = {"max_depth": 1, "n_bits": 3, "n_estimators": 3, "n_jobs": -1}
138
+ classifier = ConcreteXGBoostClassifier(**concrete_args)
139
+ # Train the model
140
+ classifier.fit(X_train, y_train)
141
+ # Compile the model
142
+ circuit = classifier.compile(X_train)
143
+
144
+ return classifier, circuit