├── server └── Dockerfile ├── .gitignore ├── docker-compose.yaml ├── README.md ├── test_s3.ipynb ├── test_mlflow_sklearn.ipynb ├── test_mlflow_pytorch.ipynb └── titanic.csv /server/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.12.3 2 | 3 | RUN pip install mlflow==3.1.0 boto3 psycopg2 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | data_mnist 2 | mlartifacts 3 | *.pth 4 | *.png 5 | .env 6 | minio_data 7 | db_data 8 | *.jpg -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | db: 3 | restart: always 4 | image: postgres 5 | container_name: mlflow_db 6 | ports: 7 | - "5423:5432" 8 | networks: 9 | - backend 10 | environment: 11 | POSTGRES_USER: ${PG_USER} 12 | POSTGRES_PASSWORD: ${PG_PASSWORD} 13 | POSTGRES_DATABASE: ${PG_DATABASE} 14 | volumes: 15 | - ./db_data:/var/lib/postgresql/ 16 | healthcheck: 17 | test: ["CMD", "pg_isready", "-p", "5432", "-U", "${PG_USER}"] 18 | interval: 5s 19 | timeout: 5s 20 | retries: 3 21 | 22 | s3: 23 | restart: always 24 | image: minio/minio:RELEASE.2024-07-31T05-46-26Z 25 | container_name: mlflow_minio 26 | ports: 27 | - "9000:9000" 28 | - "9001:9001" 29 | networks: 30 | - frontend 31 | - backend 32 | environment: 33 | MINIO_ROOT_USER: ${MINIO_ROOT_USER} 34 | MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} 35 | command: server /data --console-address ':9001' --address ':9000' 36 | volumes: 37 | - ./minio_data:/data 38 | healthcheck: 39 | test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] 40 | interval: 30s 41 | timeout: 20s 42 | retries: 3 43 | 44 | s3_setup: 45 | image: minio/mc:RELEASE.2024-08-13T05-33-17Z 46 | container_name: s3_setup 47 | depends_on: 48 | - s3 49 | networks: 50 | - backend 51 | environment: 52 | MINIO_ROOT_USER: ${MINIO_ROOT_USER} 53 | MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} 54 | entrypoint: ["/bin/sh", "-c"] 55 | command: 56 | - | 57 | mc alias set myminio http://s3:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD} 58 | mc admin user svcacct add --access-key ${MLFLOW_AWS_ACCESS_KEY_ID} --secret-key ${MLFLOW_AWS_SECRET_ACCESS_KEY} myminio ${MINIO_ROOT_USER} 59 | mc mb myminio/${MLFLOW_BUCKET_NAME}/artifacts 60 | mc mb myminio/test-bucket 61 | 62 | mlflow_server: 63 | restart: always 64 | build: ./server 65 | image: mlflow_server 66 | container_name: mlflow_server 67 | depends_on: 68 | - db 69 | - s3_setup 70 | ports: 71 | - "5050:5000" 72 | networks: 73 | - frontend 74 | - backend 75 | environment: 76 | AWS_ACCESS_KEY_ID: ${MLFLOW_AWS_ACCESS_KEY_ID} 77 | AWS_SECRET_ACCESS_KEY: ${MLFLOW_AWS_SECRET_ACCESS_KEY} 78 | MLFLOW_S3_ENDPOINT_URL: http://s3:9000 79 | MLFLOW_S3_IGNORE_TLS: "True" 80 | command: > 81 | mlflow server 82 | --backend-store-uri postgresql://${PG_USER}:${PG_PASSWORD}@db:5432/${PG_DATABASE} 83 | --host 0.0.0.0 84 | --serve-artifacts 85 | --artifacts-destination s3://${MLFLOW_BUCKET_NAME}/artifacts 86 | healthcheck: 87 | test: ["CMD", "curl", "-f", "http://localhost:5000/"] 88 | interval: 30s 89 | timeout: 10s 90 | retries: 3 91 | 92 | networks: 93 | frontend: 94 | driver: bridge 95 | backend: 96 | driver: bridge 97 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Использование MLflow для трекинга экспериментов PyTorch и Sklearn 2 | 3 | MLflow - это инструмент для управления жизненным циклом машинного обучения, который предоставляет разработчикам и исследователям возможность отслеживать, управлять и развертывать модели машинного обучения. Одной из ключевых возможностей MLflow является трекинг экспериментов. Он позволяет записывать параметры модели, метрики и артефакты (например, веса модели) во время обучения и сохранять их. Это позволяет легко сравнивать различные модели и эксперименты, а также повторять эксперименты с теми же параметрами. 4 | 5 | 6 | MLflow поддерживает множество фреймворков машинного обучения, включая PyTorch и Sklearn. После завершения проведения экспериментов все записанные параметры, метрики и артефакты и сами модели будут сохранены (сохранить данные можно локально на компьютере или с использованием любой базы данных). Данные можно легко просмотреть с помощью удобного веб-интерфейса MLflow или использовать API для доступа. 7 | 8 | Варианты поднятия сервиса: 9 | 10 | ![image](https://github.com/user-attachments/assets/13cda00d-54c5-4554-a76f-9c2ce5a4eb1d) 11 | 12 | В данной **main** ветке представлен пример №3. Как раз тут развернем объектоное хранилище и базу данных с помощью docker-compose.
13 | Если вас интересует самый простой вариант для локальной разработки (вариант №1), то его реализацию можете найти в ветке [local_mlflow](https://github.com/Koldim2001/MLflow_tracking/tree/local_mlflow) 14 | 15 | --- 16 | 17 | ## Запуск MLFlow + Postgres + MinIO 18 | 19 | ### Установка переменных окружения 20 | 21 | Создайте файлик `.env`, в который добавьте примерно следующее: 22 | 23 | ```bash 24 | PG_USER=mlflow 25 | PG_PASSWORD=mlflow 26 | PG_DATABASE=mlflow 27 | MLFLOW_BUCKET_NAME=mlfow-bucket 28 | MINIO_ROOT_USER=admin 29 | MINIO_ROOT_PASSWORD=admin1234 30 | MLFLOW_S3_ENDPOINT_URL=http://localhost:9000 31 | MLFLOW_TRACKING_URL=http://localhost:5000 32 | MLFLOW_AWS_ACCESS_KEY_ID=qwerTY12345 33 | MLFLOW_AWS_SECRET_ACCESS_KEY=poIuytRewq0987654321qwerty 34 | ``` 35 | 36 | ### Запуск сервисов 37 | 38 | Выполните: 39 | 40 | ```bash 41 | docker compose up -d 42 | ``` 43 | 44 | Когда контейнеры стартанут, на: 45 | 46 | * `http://localhost:9001/` будет доступен GUI Minio (логин/пароль – переменные `MINIO_ROOT_USER`/`MINIO_ROOT_PASSWORD` в `.env`); 47 | * на `http://localhost:5050/` будет доступен GUI MLFlow; 48 | 49 | --- 50 | 51 | ### Код репозитория: 52 | 53 | > Результаты представлены в формате jupiter notebook: 54 | > 1) Работа с PyTorch - [test_mlflow_pytorch.ipynb](https://nbviewer.org/github/Koldim2001/MLflow_tracking/blob/main/test_mlflow_pytorch.ipynb) 55 | > 2) Работа с Sklearn - [test_mlflow_sklearn.ipynb](https://nbviewer.org/github/Koldim2001/MLflow_tracking/blob/main/test_mlflow_sklearn.ipynb) 56 | 57 | Отдельно имеется файл [test_s3.ipynb](https://github.com/Koldim2001/MLflow_tracking/blob/main/test_s3.ipynb) с примером того, как работать с MinIO. Для этого я сначала создал бакет test-bucket при запуске компоуза и теперь могу все что угодно в него класть и из него получать. 58 | -------------------------------------------------------------------------------- /test_s3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Тестирование работы с S3 (minio) boto2" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "import boto3\n", 17 | "\n", 18 | "session = boto3.session.Session()\n", 19 | "s3 = session.client(\n", 20 | " service_name='s3',\n", 21 | " aws_access_key_id=\"qwerTY12345\",\n", 22 | " aws_secret_access_key=\"poIuytRewq0987654321qwerty\",\n", 23 | " endpoint_url='http://localhost:9000'\n", 24 | ")" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 16, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "# Загрузить объекты в бакет\n", 34 | "bucket_name = \"test-bucket\"\n", 35 | "file = \"titanic.csv\"\n", 36 | "save_name = \"titanic.csv\"\n", 37 | "\n", 38 | "## Из файла\n", 39 | "s3.upload_file(file, bucket_name, save_name)" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 8, 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "name": "stdout", 49 | "output_type": "stream", 50 | "text": [ 51 | "test.jpg\n", 52 | "titanic.csv\n" 53 | ] 54 | } 55 | ], 56 | "source": [ 57 | "# Получить список объектов в бакете\n", 58 | "try:\n", 59 | " for key in s3.list_objects(Bucket=bucket_name)['Contents']:\n", 60 | " print(key['Key'])\n", 61 | "except:\n", 62 | " print('No items')" 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 9, 68 | "metadata": {}, 69 | "outputs": [], 70 | "source": [ 71 | "# Удалить несколько объектов\n", 72 | "forDeletion = [{'Key':save_name}]\n", 73 | "response = s3.delete_objects(Bucket=bucket_name, Delete={'Objects': forDeletion})" 74 | ] 75 | }, 76 | { 77 | "cell_type": "markdown", 78 | "metadata": {}, 79 | "source": [ 80 | "Загрузим фотку из инета и положим ее в s3:" 81 | ] 82 | }, 83 | { 84 | "cell_type": "code", 85 | "execution_count": 10, 86 | "metadata": {}, 87 | "outputs": [ 88 | { 89 | "name": "stdout", 90 | "output_type": "stream", 91 | "text": [ 92 | "Фотография успешно загружена и сохранена как test.jpg\n" 93 | ] 94 | } 95 | ], 96 | "source": [ 97 | "import requests\n", 98 | "\n", 99 | "# URL фотографии\n", 100 | "url = 'https://steamuserimages-a.akamaihd.net/ugc/863987595649031357/F975541D9FE478E84605C72D21DAC1AF94254F52/?imw=512&imh=522&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true'\n", 101 | "\n", 102 | "# Имя файла, под которым сохраним фотографию\n", 103 | "filename = 'test.jpg'\n", 104 | "\n", 105 | "# Загрузка фотографии\n", 106 | "response = requests.get(url)\n", 107 | "\n", 108 | "# Проверка, что загрузка прошла успешно\n", 109 | "if response.status_code == 200:\n", 110 | " # Сохранение фотографии в файл\n", 111 | " with open(filename, 'wb') as file:\n", 112 | " file.write(response.content)\n", 113 | " print(f\"Фотография успешно загружена и сохранена как {filename}\")\n", 114 | "else:\n", 115 | " print(f\"Ошибка при загрузке фотографии: {response.status_code}\")" 116 | ] 117 | }, 118 | { 119 | "cell_type": "code", 120 | "execution_count": 11, 121 | "metadata": {}, 122 | "outputs": [], 123 | "source": [ 124 | "# Загрузить объекты в бакет\n", 125 | "bucket_name = \"test-bucket\"\n", 126 | "file = \"test.jpg\"\n", 127 | "save_name = \"test.jpg\"\n", 128 | "\n", 129 | "## Из файла\n", 130 | "s3.upload_file(file, bucket_name, save_name)" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": null, 136 | "metadata": {}, 137 | "outputs": [ 138 | { 139 | "data": { 140 | "text/plain": [ 141 | "{'ResponseMetadata': {'RequestId': '18042B75C1B1985A',\n", 142 | " 'HostId': 'dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8',\n", 143 | " 'HTTPStatusCode': 200,\n", 144 | " 'HTTPHeaders': {'accept-ranges': 'bytes',\n", 145 | " 'content-length': '39387',\n", 146 | " 'content-type': 'binary/octet-stream',\n", 147 | " 'etag': '\"ed3f2a0e6e0c4da07ae03de64d09dae4\"',\n", 148 | " 'last-modified': 'Sat, 02 Nov 2024 13:58:56 GMT',\n", 149 | " 'server': 'MinIO',\n", 150 | " 'strict-transport-security': 'max-age=31536000; includeSubDomains',\n", 151 | " 'vary': 'Origin, Accept-Encoding',\n", 152 | " 'x-amz-id-2': 'dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8',\n", 153 | " 'x-amz-request-id': '18042B75C1B1985A',\n", 154 | " 'x-content-type-options': 'nosniff',\n", 155 | " 'x-xss-protection': '1; mode=block',\n", 156 | " 'date': 'Sat, 02 Nov 2024 13:59:01 GMT'},\n", 157 | " 'RetryAttempts': 0},\n", 158 | " 'AcceptRanges': 'bytes',\n", 159 | " 'LastModified': datetime.datetime(2024, 11, 2, 13, 58, 56, tzinfo=tzutc()),\n", 160 | " 'ContentLength': 39387,\n", 161 | " 'ETag': '\"ed3f2a0e6e0c4da07ae03de64d09dae4\"',\n", 162 | " 'ContentType': 'binary/octet-stream',\n", 163 | " 'Metadata': {},\n", 164 | " 'Body': }" 165 | ] 166 | }, 167 | "execution_count": 12, 168 | "metadata": {}, 169 | "output_type": "execute_result" 170 | } 171 | ], 172 | "source": [ 173 | "# Получить объект\n", 174 | "get_object_response = s3.get_object(Bucket=bucket_name, Key=file)\n", 175 | "get_object_response" 176 | ] 177 | }, 178 | { 179 | "cell_type": "code", 180 | "execution_count": 15, 181 | "metadata": {}, 182 | "outputs": [], 183 | "source": [ 184 | "import cv2\n", 185 | "import numpy as np\n", 186 | "\n", 187 | "# Получение объекта из S3\n", 188 | "get_object_response = s3.get_object(Bucket=bucket_name, Key=file)\n", 189 | "\n", 190 | "# Чтение данных изображения из ответа\n", 191 | "image_data = get_object_response['Body'].read()\n", 192 | "\n", 193 | "# Преобразование данных изображения в формат, который может быть прочитан OpenCV\n", 194 | "image = cv2.imdecode(np.frombuffer(image_data, np.uint8), cv2.IMREAD_COLOR)\n", 195 | "\n", 196 | "# Отображение изображения\n", 197 | "cv2.imshow('Image from S3', cv2.resize(image, (350, 350)))\n", 198 | "cv2.waitKey(0)\n", 199 | "cv2.destroyAllWindows()" 200 | ] 201 | } 202 | ], 203 | "metadata": { 204 | "kernelspec": { 205 | "display_name": "patched_yolo_infer", 206 | "language": "python", 207 | "name": "python3" 208 | }, 209 | "language_info": { 210 | "codemirror_mode": { 211 | "name": "ipython", 212 | "version": 3 213 | }, 214 | "file_extension": ".py", 215 | "mimetype": "text/x-python", 216 | "name": "python", 217 | "nbconvert_exporter": "python", 218 | "pygments_lexer": "ipython3", 219 | "version": "3.11.8" 220 | } 221 | }, 222 | "nbformat": 4, 223 | "nbformat_minor": 2 224 | } 225 | -------------------------------------------------------------------------------- /test_mlflow_sklearn.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": {}, 5 | "cell_type": "markdown", 6 | "metadata": {}, 7 | "source": [ 8 | "## MLFLOW для экспериментов с Sklearn" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 2, 14 | "metadata": {}, 15 | "outputs": [], 16 | "source": [ 17 | "import os\n", 18 | "import mlflow\n", 19 | "import pandas as pd\n", 20 | "from sklearn.model_selection import train_test_split\n", 21 | "from sklearn.tree import DecisionTreeClassifier\n", 22 | "from sklearn.metrics import accuracy_score, confusion_matrix\n", 23 | "\n", 24 | "# Загрузка данных Титаника из csv-файла\n", 25 | "data = pd.read_csv('titanic.csv')\n", 26 | "data = data [['Survived','Pclass','Age','Fare']]\n", 27 | "data = data.dropna(subset=['Age'])" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 3, 33 | "metadata": {}, 34 | "outputs": [ 35 | { 36 | "name": "stdout", 37 | "output_type": "stream", 38 | "text": [ 39 | "\n", 40 | "Index: 714 entries, 0 to 890\n", 41 | "Data columns (total 4 columns):\n", 42 | " # Column Non-Null Count Dtype \n", 43 | "--- ------ -------------- ----- \n", 44 | " 0 Survived 714 non-null int64 \n", 45 | " 1 Pclass 714 non-null int64 \n", 46 | " 2 Age 714 non-null float64\n", 47 | " 3 Fare 714 non-null float64\n", 48 | "dtypes: float64(2), int64(2)\n", 49 | "memory usage: 27.9 KB\n" 50 | ] 51 | } 52 | ], 53 | "source": [ 54 | "data.info()" 55 | ] 56 | }, 57 | { 58 | "cell_type": "code", 59 | "execution_count": 8, 60 | "metadata": {}, 61 | "outputs": [], 62 | "source": [ 63 | "# Укажем юзера который делает эксперименты\n", 64 | "os.environ['USER'] = 'Dima Kolesnikov'" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 10, 70 | "metadata": {}, 71 | "outputs": [ 72 | { 73 | "data": { 74 | "text/plain": [ 75 | "" 76 | ] 77 | }, 78 | "execution_count": 10, 79 | "metadata": {}, 80 | "output_type": "execute_result" 81 | } 82 | ], 83 | "source": [ 84 | "# Разделение данных на обучающую и тестовую выборки\n", 85 | "train, test = train_test_split(data, test_size=0.2)\n", 86 | "\n", 87 | "# Инициализация MLflow\n", 88 | "mlflow.set_tracking_uri(\"http://localhost:5050\")\n", 89 | "mlflow.set_experiment(\"TreeClassifier_test\")" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": 11, 95 | "metadata": {}, 96 | "outputs": [], 97 | "source": [ 98 | "import matplotlib.pyplot as plt\n", 99 | "import numpy as np\n", 100 | "import itertools\n", 101 | "\n", 102 | "def plot_confusion_matrix(cm, classes,\n", 103 | " normalize=False,\n", 104 | " title='Confusion matrix',\n", 105 | " cmap=plt.cm.Blues):\n", 106 | " \"\"\"\n", 107 | " Функция для построения матрицы ошибок.\n", 108 | " cm - матрица ошибок\n", 109 | " classes - список классов\n", 110 | " normalize - если True, то значения матрицы ошибок нормализуются к 1\n", 111 | " title - заголовок графика\n", 112 | " cmap - цветовая схема для отображения графика\n", 113 | " \"\"\"\n", 114 | "\n", 115 | " if normalize:\n", 116 | " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", 117 | " print(\"Normalized confusion matrix\")\n", 118 | " else:\n", 119 | " print('Confusion matrix, without normalization')\n", 120 | " \n", 121 | " plt.figure()\n", 122 | " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", 123 | " plt.title(title)\n", 124 | " plt.colorbar()\n", 125 | " tick_marks = np.arange(len(classes))\n", 126 | " plt.xticks(tick_marks, classes, rotation=45)\n", 127 | " plt.yticks(tick_marks, classes)\n", 128 | "\n", 129 | " fmt = '.2f' if normalize else 'd'\n", 130 | " thresh = cm.max() / 2.\n", 131 | " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", 132 | " plt.text(j, i, format(cm[i, j], fmt),\n", 133 | " horizontalalignment=\"center\",\n", 134 | " color=\"white\" if cm[i, j] > thresh else \"black\")\n", 135 | "\n", 136 | " plt.tight_layout()\n", 137 | " plt.ylabel('True label')\n", 138 | " plt.xlabel('Predicted label')" 139 | ] 140 | }, 141 | { 142 | "cell_type": "code", 143 | "execution_count": 12, 144 | "metadata": {}, 145 | "outputs": [], 146 | "source": [ 147 | "# Запуск контекста MLflow и сохранение гиперпараметров\n", 148 | "def experiment(run_name, max_depth, min_samples_split):\n", 149 | " with mlflow.start_run(run_name=run_name):\n", 150 | "\n", 151 | " mlflow.log_param(\"max_depth\", max_depth)\n", 152 | " mlflow.log_param(\"min_samples_split\", min_samples_split)\n", 153 | "\n", 154 | " # Создание и обучение модели решающего дерева\n", 155 | " model = DecisionTreeClassifier(max_depth=max_depth, min_samples_split=min_samples_split)\n", 156 | " model.fit(train.drop('Survived', axis=1), train['Survived'])\n", 157 | "\n", 158 | " # Вычисление метрик и сохранение их в MLflow\n", 159 | " preds = model.predict(test.drop('Survived', axis=1))\n", 160 | " acc = accuracy_score(test['Survived'], preds)\n", 161 | " cm = confusion_matrix(test['Survived'], preds)\n", 162 | "\n", 163 | " mlflow.log_metric(\"accuracy\", acc)\n", 164 | " mlflow.log_metric(\"tn\", cm[0][0])\n", 165 | " mlflow.log_metric(\"fp\", cm[0][1])\n", 166 | " mlflow.log_metric(\"fn\", cm[1][0])\n", 167 | " mlflow.log_metric(\"tp\", cm[1][1])\n", 168 | "\n", 169 | " # Визуализация матрицы ошибок и сохранение ее в MLflow\n", 170 | " plot_confusion_matrix(cm, classes=['Not Survived', 'Survived'])\n", 171 | " cm_fig = plt.gcf()\n", 172 | " cm_fig.savefig('matrix.png')\n", 173 | "\n", 174 | " mlflow.log_artifact(\"matrix.png\")\n", 175 | "\n", 176 | " # Сохранение модели в MLflow\n", 177 | " mlflow.sklearn.log_model(model, \"model\") \n", 178 | " mlflow.end_run()" 179 | ] 180 | }, 181 | { 182 | "cell_type": "code", 183 | "execution_count": 14, 184 | "metadata": {}, 185 | "outputs": [ 186 | { 187 | "name": "stdout", 188 | "output_type": "stream", 189 | "text": [ 190 | "Confusion matrix, without normalization\n" 191 | ] 192 | }, 193 | { 194 | "name": "stderr", 195 | "output_type": "stream", 196 | "text": [ 197 | "2024/11/26 21:26:22 WARNING mlflow.models.model: Model logged without a signature and input example. Please set `input_example` parameter when logging the model to auto infer the model signature.\n", 198 | "2024/11/26 21:26:23 INFO mlflow.tracking._tracking_service.client: 🏃 View run DecisionTreeClassifier_run at: http://localhost:5050/#/experiments/1/runs/5350787e9e5e4501bc56d2bcd4799d0a.\n", 199 | "2024/11/26 21:26:23 INFO mlflow.tracking._tracking_service.client: 🧪 View experiment at: http://localhost:5050/#/experiments/1.\n" 200 | ] 201 | }, 202 | { 203 | "data": { 204 | "image/png": "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xYkTJ6ySlXr16nH27FlmzZrF33//TaZMmahcuTJDhgyxNKw+To0aNVi9ejWDBg1i4MCBODk5UblyZb744gubm1FT0oQJE3B0dGTevHlERkZSoUIFyzNiHuXv78+0adMYNWoU7du3JzY2lo0bN9qUrFy8eJGePXvy9ttv07p1a8t4UFAQS5cupW/fvrzxxht29f0RSU56N5CIiIjYNfWsiIiIiF1TsiIiIiJ2TcmKiIiI2DUlKyIiImLXlKyIiIiIXVOyIiIiInZNz1lJ4+Li4rh8+TKenp7J+lhwERF5+D6p27dvky1bNhwcUrY+EBkZSXR0dJLP4+zsjKurazJElHyUrKRxly9fTvCGWRERSV4XLlywPHk4JURGRuLm6QsP7iX5XP7+/pw5c8auEhYlK2mcp6cnAM6FW2NydE7laET+2/lNX6V2CCKJdjsigvx5Aix/16aU6OhoeHAPl5fbQlL+Lo+NJvTwbKKjo5WsiP2IX/oxOTorWZEXgpeXV2qHIGKz57bMns4Zk6PLMx9uttNuADXYioiIiF1TZUVERMQoTA4Pt6Qcb4eUrIiIiBiFyfRwS8rxdsg+UygRERGRf6iyIiIiYhRaBhIRERG7ZtBlICUrIiIihpHEyoqddofYZ1QiIiIi/1BlRURExCi0DCQiIiJ2TQ22IiIiYtcMWlmxzxRKRERE5B+qrIiIiBiFloFERETErhl0GUjJioiIiFEYtLJin1GJiIiI/EOVFREREaMwmZJYWdEykIiIiKQkB9PDLSnH2yElKyIiIkahnhURERGR50+VFREREaPQrcsiIiJi1wy6DKRkRURExCgMWlmxzxRKRERE5B+qrIiIiBiFloFERETErhl0GUjJioiIiFEYtLJin1GJiIiI/EOVFREREaPQMpCIiIjYtyQuA9npgouSFREREaMwaGXFPlMoERERkX+osiIiImIUJlMS7wayz8qKkhURERGjMOity0pWREREjEI9KyIiIiLPn5IVERERo4hfBkrKZoNLly7RqlUrfH19cXNzo2jRovz++++W/WazmYEDB5I1a1bc3NyoUaMGJ06csPljKVkRERExivhloKRsiXTr1i0qVKiAk5MTv/76K0eOHGHs2LFkyJDBMmfMmDFMnDiRadOmsXv3btzd3alduzaRkZE2fSz1rIiIiIjNvvjiCwICApg9e7ZlLE+e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2DWjVlbUsyIiIiJ2TZUVERERg9AykIiIiNg1JSsiIiJi19SzIiIiIpIKVFkRERExCBNJXAay09cuK1kRERExCKMuAylZERERMQijNtiqZ0VERETsmiorIiIiBqFlIBEREbFrWgYSERERuxZfWUnKZovBgwdbEqT4rVChQpb9kZGRdO7cGV9fXzw8PGjcuDFXr161+XMpWREREZFn9vLLL3PlyhXLtm3bNsu+nj17smLFChYvXszmzZu5fPkyjRo1svkaWgYSERExiNRYBkqXLh3+/v4JxsPDw5k5cybz58+nWrVqAMyePZvAwEB27dpFuXLlEn0NVVZERESMIqlLQP/kKhEREVZbVFTUEy954sQJsmXLRt68eQkKCuL8+fMA7Nu3j5iYGGrUqGGZW6hQIXLmzMnOnTtt+lhKVkRERMRKQEAA3t7elm3UqFGPnVe2bFmCg4NZvXo1U6dO5cyZM1SsWJHbt28TGhqKs7MzPj4+VsdkyZKF0NBQm+LRMpCIiIhBJNcy0IULF/Dy8rKMu7i4PHb+G2+8YflzsWLFKFu2LLly5WLRokW4ubk9cxz/psqKiIiIQSTX3UBeXl5W25OSlX/z8fHhpZde4uTJk/j7+xMdHU1YWJjVnKtXrz62x+VplKyIiIgYxL9vI36WLSnu3LnDqVOnyJo1K6VLl8bJyYn169db9oeEhHD+/HnKly9v03m1DCQiIiLPpE+fPrz99tvkypWLy5cvM2jQIBwdHWnZsiXe3t60b9+eXr16kTFjRry8vOjatSvly5e36U4gULIiIiJiGM/7cfsXL16kZcuW3Lhxg8yZM/P666+za9cuMmfODMC4ceNwcHCgcePGREVFUbt2baZMmWJzXEpWREREDOJ5P2dlwYIFT93v6urK5MmTmTx58jPHBEpWREREDEPvBhIRERFJBaqsiIiIGMTz7ll5XpSsiIiIGIRRl4GUrIiIiBiEUSsr6lkRERERu6bKioiIiEFoGUhERETsmokkLgMlWyTJS8mKiIiIQTiYTDgkIVtJyrEpST0rIiIiYtdUWRERETEIo94NpGRFRETEINRgKyIiInbNwfRwS8rx9kg9KyIiImLXVFkRERExClMSl3LstLKiZEVERMQg1GArIiIids30zz9JOd4eqWdFRERE7FqiKis///xzok9Yr169Zw5GREREnp1R7wZKVLLS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h6zG2rZtS6FChfjkk08ICAjAycmJ9evX07hxY+Dhs9rOnz9P+fLlbbpWsr3IsFWrVrz66qt89dVXyXVKERERsYHJlLQHu9lyqKenJ0WKFLEac3d3x9fX1zLevn17evXqRcaMGfHy8qJr166UL1/epjuBIBmTlZ07d6b4mpWIiIg8WWrcuvw048aNw8HBgcaNGxMVFUXt2rWZMmWKzeexOVn598NczGYzV65c4ffff2fAgAE2ByAiIiLJI7l6Vp7Vpk2brL52dXVl8uTJTJ48OUnntTlZ8fb2tvrawcGBggULMnToUGrVqpWkYERERET+zaZkJTY2lrZt21K0aFEyZMiQUjGJiIjIMzD9809SjrdHNj3B1tHRkVq1auntyiIiInYofhkoKZs9svlx+0WKFOH06dMpEYuIiIgkgZKVfwwfPpw+ffqwcuVKrly5kuD9ASIiIiLJKdE9K0OHDqV37968+eabANSrV8/qsftmsxmTyURsbGzyRykiIiL/yWQyPfWVOIk53h4lOlkZMmQIH3zwARs3bkzJeEREROQZpfatyykl0cmK2WwGoHLlyikWjIiIiDw7e3soXHKxqWfFXstDIiIiYlw2PWflpZde+s+E5ebNm0kKSERERJ6Ng8mUpHcDJeXYlGRTsjJkyJAET7AVERER+5Dme1YAWrRogZ+fX0rFIiIiIkmRxJ4VO32AbeJ7VtSvIiIiIqnB5ruBRERExD45YMIhCeWRpBybkhKdrMTFxaVkHCIiIpJERr112aaeFREREbFfRm2wtfndQCIiIiLPkyorIiIiBqHnrIiIiIhdU8+KiIiI2DUHklhZsdO7gdSzIiIiInZNlRURERGD0DKQiIiI2DUHkrZkYq/LLUpWREREDMJkMiXp9Tj2+mode02iRERERABVVkRERAzDRNJenGyfdRUlKyIiIoZh1IfCaRlIRERE7JoqKyIiIgZin7WRpFGyIiIiYhB6zoqIiIjYNd26LCIiIpIKVFkRERExCD3BVkREROyaUZeBlKyIiIgYhFEfCmevFR8RERERQJUVERERw9AykIiIiNg1NdiKiIiIXTNqZcVekygRERERQJUVERERwzDq3UBKVkRERAxC7wYSERERu+aACYck1EeScmxKUs+KiIiI2DVVVkRERAxCy0AiIiJi10z//JOU4+2RkhURERGDMGplRT0rIiIi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", 205 | "text/plain": [ 206 | "
" 207 | ] 208 | }, 209 | "metadata": {}, 210 | "output_type": "display_data" 211 | } 212 | ], 213 | "source": [ 214 | "# Определение гиперпараметров модели\n", 215 | "max_depth = 10\n", 216 | "min_samples_split = 25\n", 217 | "run_name = 'DecisionTreeClassifier_run'\n", 218 | "\n", 219 | "experiment(run_name, max_depth, min_samples_split)" 220 | ] 221 | } 222 | ], 223 | "metadata": { 224 | "kernelspec": { 225 | "display_name": "patched_yolo_infer", 226 | "language": "python", 227 | "name": "python3" 228 | }, 229 | "language_info": { 230 | "codemirror_mode": { 231 | "name": "ipython", 232 | "version": 3 233 | }, 234 | "file_extension": ".py", 235 | "mimetype": "text/x-python", 236 | "name": "python", 237 | "nbconvert_exporter": "python", 238 | "pygments_lexer": "ipython3", 239 | "version": "3.11.8" 240 | }, 241 | "orig_nbformat": 4 242 | }, 243 | "nbformat": 4, 244 | "nbformat_minor": 2 245 | } 246 | -------------------------------------------------------------------------------- /test_mlflow_pytorch.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": {}, 5 | "cell_type": "markdown", 6 | "metadata": {}, 7 | "source": [ 8 | "## MLFLOW для экспериментов с PyTorch" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 1, 14 | "metadata": {}, 15 | "outputs": [], 16 | "source": [ 17 | "import os\n", 18 | "import random\n", 19 | "import logging\n", 20 | "\n", 21 | "import torch\n", 22 | "import mlflow\n", 23 | "import numpy as np # библиотека работы с матрицами на цпу\n", 24 | "import matplotlib.pyplot as plt # библиотека для отображения графиков и изображений\n", 25 | "import torchvision.transforms as transforms\n", 26 | "import torchvision.utils\n", 27 | "import torch.nn as nn\n", 28 | "\n", 29 | "%matplotlib inline" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 2, 35 | "metadata": {}, 36 | "outputs": [], 37 | "source": [ 38 | "# Укажем юзера который делает эксперименты\n", 39 | "os.environ['USER'] = 'Dima Kolesnikov'" 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 3, 45 | "metadata": {}, 46 | "outputs": [], 47 | "source": [ 48 | "# Установка Seed для воспроизводимости\n", 49 | "seed = 42\n", 50 | "torch.manual_seed(seed)\n", 51 | "torch.cuda.manual_seed(seed)\n", 52 | "torch.cuda.manual_seed_all(seed)\n", 53 | "np.random.seed(seed)\n", 54 | "random.seed(seed)\n", 55 | "torch.backends.cudnn.benchmark = False\n", 56 | "torch.backends.cudnn.deterministic = True" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": 4, 62 | "metadata": {}, 63 | "outputs": [], 64 | "source": [ 65 | "train_mnist = torchvision.datasets.MNIST('data_mnist/train', train=True, \n", 66 | " transform=transforms.Compose([transforms.ToTensor()]), \n", 67 | " download=True)\n", 68 | "val_mnist = torchvision.datasets.MNIST('data_mnist/test', train=False, \n", 69 | " transform=transforms.Compose([transforms.ToTensor()]), \n", 70 | " download=True)\n", 71 | "\n", 72 | "batch_size = 256\n", 73 | "\n", 74 | "train_loader = torch.utils.data.DataLoader(\n", 75 | " dataset=train_mnist,\n", 76 | " batch_size=batch_size,\n", 77 | " shuffle=True)\n", 78 | "val_loader = torch.utils.data.DataLoader(\n", 79 | " dataset=val_mnist,\n", 80 | " batch_size=batch_size,\n", 81 | " shuffle=False)" 82 | ] 83 | }, 84 | { 85 | "attachments": {}, 86 | "cell_type": "markdown", 87 | "metadata": {}, 88 | "source": [ 89 | "__Создадаим fc сеть:__" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": 5, 95 | "metadata": {}, 96 | "outputs": [], 97 | "source": [ 98 | "class FCNetwork(nn.Module):\n", 99 | " def __init__(self, prob, n_inside):\n", 100 | " super(FCNetwork, self).__init__() \n", 101 | " self.fc1 = nn.Linear(784, n_inside)\n", 102 | " self.fc2 = nn.Linear(n_inside, 10)\n", 103 | " self.fc1_act = nn.ReLU()\n", 104 | " self.dropout = nn.Dropout(p = prob)\n", 105 | "\n", 106 | " def forward(self,x):\n", 107 | " x = x.view(-1,28*28)\n", 108 | " y = self.fc1(self.dropout(x))\n", 109 | " y = self.fc1_act(y)\n", 110 | " y = self.fc2(y)\n", 111 | " return y" 112 | ] 113 | }, 114 | { 115 | "cell_type": "markdown", 116 | "metadata": {}, 117 | "source": [ 118 | "## Пример без MLFlow:" 119 | ] 120 | }, 121 | { 122 | "cell_type": "code", 123 | "execution_count": 6, 124 | "metadata": {}, 125 | "outputs": [], 126 | "source": [ 127 | "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", 128 | "\n", 129 | "model = FCNetwork(prob=0.5, n_inside=100)\n", 130 | "model.to(device)\n", 131 | "\n", 132 | "loss_func = nn.CrossEntropyLoss()\n", 133 | "optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)\n", 134 | "\n", 135 | "# Функция для вычисления точности\n", 136 | "def accuracy(y_pred, labels):\n", 137 | " preds = torch.argmax(y_pred, dim=1)\n", 138 | " return (preds == labels).float().mean().item()" 139 | ] 140 | }, 141 | { 142 | "attachments": {}, 143 | "cell_type": "markdown", 144 | "metadata": {}, 145 | "source": [ 146 | "Обучим сеть как обычно это делаем без трекинга в mlflow. Загружать будем локально на компьютер лучшую модель с мах test accuracy" 147 | ] 148 | }, 149 | { 150 | "cell_type": "code", 151 | "execution_count": 7, 152 | "metadata": {}, 153 | "outputs": [ 154 | { 155 | "name": "stdout", 156 | "output_type": "stream", 157 | "text": [ 158 | "The 1 Epoch of network learning is over:\n", 159 | "Train results Epoch 1: Train loss - 1.6956, Train accuracy - 0.6011\n", 160 | "Validation results Epoch 1: Val loss - 1.0384, Val accuracy - 0.8214\n", 161 | "Saving model because its better\n", 162 | "---\n", 163 | "The 2 Epoch of network learning is over:\n", 164 | "Train results Epoch 2: Train loss - 0.8647, Train accuracy - 0.8079\n", 165 | "Validation results Epoch 2: Val loss - 0.6138, Val accuracy - 0.8694\n", 166 | "Saving model because its better\n", 167 | "---\n", 168 | "The 3 Epoch of network learning is over:\n", 169 | "Train results Epoch 3: Train loss - 0.6273, Train accuracy - 0.8372\n", 170 | "Validation results Epoch 3: Val loss - 0.4750, Val accuracy - 0.8885\n", 171 | "Saving model because its better\n", 172 | "---\n", 173 | "The 4 Epoch of network learning is over:\n", 174 | "Train results Epoch 4: Train loss - 0.5404, Train accuracy - 0.8497\n", 175 | "Validation results Epoch 4: Val loss - 0.4102, Val accuracy - 0.8973\n", 176 | "Saving model because its better\n", 177 | "---\n", 178 | "The 5 Epoch of network learning is over:\n", 179 | "Train results Epoch 5: Train loss - 0.4925, Train accuracy - 0.8594\n", 180 | "Validation results Epoch 5: Val loss - 0.3736, Val accuracy - 0.9037\n", 181 | "Saving model because its better\n", 182 | "---\n" 183 | ] 184 | } 185 | ], 186 | "source": [ 187 | "maxacc = 0\n", 188 | "N_epochs = 5\n", 189 | "\n", 190 | "for epoch in range(N_epochs):\n", 191 | " epoch += 1\n", 192 | " model.train()\n", 193 | " train_loss = 0.0\n", 194 | " train_acc = 0.0\n", 195 | " train_samples = 0\n", 196 | "\n", 197 | " for itr, data in enumerate(train_loader):\n", 198 | " imgs = data[0].to(device) # [B, H, W]\n", 199 | " labels = data[1].to(device)\n", 200 | "\n", 201 | " y_pred = model(imgs) \n", 202 | " loss = loss_func(y_pred, labels)\n", 203 | "\n", 204 | " train_loss += loss.item() * imgs.size(0)\n", 205 | " train_acc += accuracy(y_pred, labels) * imgs.size(0)\n", 206 | " train_samples += imgs.size(0)\n", 207 | " \n", 208 | " optimizer.zero_grad()\n", 209 | " loss.backward()\n", 210 | " optimizer.step()\n", 211 | "\n", 212 | " train_loss /= train_samples\n", 213 | " train_acc /= train_samples\n", 214 | " print(f'The {epoch} Epoch of network learning is over:')\n", 215 | " print(f'Train results Epoch {epoch}: Train loss - {train_loss:.4f}, Train accuracy - {train_acc:.4f}')\n", 216 | "\n", 217 | " model.eval()\n", 218 | " val_loss = 0.0\n", 219 | " val_acc = 0.0\n", 220 | " val_samples = 0\n", 221 | "\n", 222 | " with torch.no_grad():\n", 223 | " for itr, data in enumerate(val_loader):\n", 224 | " imgs = data[0].to(device)\n", 225 | " labels = data[1].to(device)\n", 226 | " y_pred = model(imgs)\n", 227 | " loss = loss_func(y_pred, labels)\n", 228 | "\n", 229 | " val_loss += loss.item() * imgs.size(0)\n", 230 | " val_acc += accuracy(y_pred, labels) * imgs.size(0)\n", 231 | " val_samples += imgs.size(0)\n", 232 | "\n", 233 | " val_loss /= val_samples\n", 234 | " val_acc /=val_samples\n", 235 | " print(f'Validation results Epoch {epoch}: Val loss - {val_loss:.4f}, Val accuracy - {val_acc:.4f}')\n", 236 | "\n", 237 | " if val_acc > maxacc:\n", 238 | " print('Saving model because its better')\n", 239 | " maxacc = val_acc\n", 240 | " torch.save(model, f'mymodel_fc.pth')\n", 241 | " print('---')" 242 | ] 243 | }, 244 | { 245 | "attachments": {}, 246 | "cell_type": "markdown", 247 | "metadata": {}, 248 | "source": [ 249 | "---" 250 | ] 251 | }, 252 | { 253 | "attachments": {}, 254 | "cell_type": "markdown", 255 | "metadata": {}, 256 | "source": [ 257 | "## Теперь воспользуемся MLFlow для трекинга экспериментов:" 258 | ] 259 | }, 260 | { 261 | "cell_type": "code", 262 | "execution_count": null, 263 | "metadata": {}, 264 | "outputs": [ 265 | { 266 | "data": { 267 | "text/plain": [ 268 | "" 269 | ] 270 | }, 271 | "execution_count": 8, 272 | "metadata": {}, 273 | "output_type": "execute_result" 274 | } 275 | ], 276 | "source": [ 277 | "# Инициализация MLflow\n", 278 | "mlflow.set_tracking_uri(\"http://localhost:5050\")\n", 279 | "mlflow.set_experiment(\"PyTorch_test\")" 280 | ] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": 9, 285 | "metadata": {}, 286 | "outputs": [], 287 | "source": [ 288 | "# Отключаем вывод ворнингов от MLflow\n", 289 | "mlflow_logger = logging.getLogger(\"mlflow\")\n", 290 | "mlflow_logger.setLevel(logging.ERROR)" 291 | ] 292 | }, 293 | { 294 | "cell_type": "code", 295 | "execution_count": 10, 296 | "metadata": {}, 297 | "outputs": [], 298 | "source": [ 299 | "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", 300 | "prob = 0.15\n", 301 | "n_inside = 50\n", 302 | "lr = 1e-4\n", 303 | "epochs = 15" 304 | ] 305 | }, 306 | { 307 | "cell_type": "code", 308 | "execution_count": 11, 309 | "metadata": {}, 310 | "outputs": [ 311 | { 312 | "name": "stdout", 313 | "output_type": "stream", 314 | "text": [ 315 | "Началось обучение 1 эпохи\n", 316 | "The 1 Epoch of network learning is over:\n", 317 | "Train results Epoch 1: Train loss - 1.7878, Train accuracy - 0.5810\n", 318 | "Validation results Epoch 1: Val loss - 1.2519, Test accuracy - 0.7852\n", 319 | "Saving model because its better\n", 320 | "---\n", 321 | "Началось обучение 2 эпохи\n", 322 | "The 2 Epoch of network learning is over:\n", 323 | "Train results Epoch 2: Train loss - 0.9821, Train accuracy - 0.8149\n", 324 | "Validation results Epoch 2: Val loss - 0.7451, Test accuracy - 0.8519\n", 325 | "Saving model because its better\n", 326 | "---\n", 327 | "Началось обучение 3 эпохи\n", 328 | "The 3 Epoch of network learning is over:\n", 329 | "Train results Epoch 3: Train loss - 0.6670, Train accuracy - 0.8533\n", 330 | "Validation results Epoch 3: Val loss - 0.5537, Test accuracy - 0.8770\n", 331 | "Saving model because its better\n", 332 | "---\n", 333 | "Началось обучение 4 эпохи\n", 334 | "The 4 Epoch of network learning is over:\n", 335 | "Train results Epoch 4: Train loss - 0.5336, Train accuracy - 0.8708\n", 336 | "Validation results Epoch 4: Val loss - 0.4613, Test accuracy - 0.8906\n", 337 | "Saving model because its better\n", 338 | "---\n", 339 | "Началось обучение 5 эпохи\n", 340 | "The 5 Epoch of network learning is over:\n", 341 | "Train results Epoch 5: Train loss - 0.4630, Train accuracy - 0.8816\n", 342 | "Validation results Epoch 5: Val loss - 0.4071, Test accuracy - 0.8978\n", 343 | "Saving model because its better\n", 344 | "---\n", 345 | "Началось обучение 6 эпохи\n", 346 | "The 6 Epoch of network learning is over:\n", 347 | "Train results Epoch 6: Train loss - 0.4205, Train accuracy - 0.8887\n", 348 | "Validation results Epoch 6: Val loss - 0.3725, Test accuracy - 0.9041\n", 349 | "Saving model because its better\n", 350 | "---\n", 351 | "Началось обучение 7 эпохи\n", 352 | "The 7 Epoch of network learning is over:\n", 353 | "Train results Epoch 7: Train loss - 0.3917, Train accuracy - 0.8947\n", 354 | "Validation results Epoch 7: Val loss - 0.3489, Test accuracy - 0.9081\n", 355 | "Saving model because its better\n", 356 | "---\n", 357 | "Началось обучение 8 эпохи\n", 358 | "The 8 Epoch of network learning is over:\n", 359 | "Train results Epoch 8: Train loss - 0.3713, Train accuracy - 0.8979\n", 360 | "Validation results Epoch 8: Val loss - 0.3310, Test accuracy - 0.9099\n", 361 | "Saving model because its better\n", 362 | "---\n", 363 | "Началось обучение 9 эпохи\n", 364 | "The 9 Epoch of network learning is over:\n", 365 | "Train results Epoch 9: Train loss - 0.3548, Train accuracy - 0.9013\n", 366 | "Validation results Epoch 9: Val loss - 0.3177, Test accuracy - 0.9129\n", 367 | "Saving model because its better\n", 368 | "---\n", 369 | "Началось обучение 10 эпохи\n", 370 | "The 10 Epoch of network learning is over:\n", 371 | "Train results Epoch 10: Train loss - 0.3426, Train accuracy - 0.9040\n", 372 | "Validation results Epoch 10: Val loss - 0.3057, Test accuracy - 0.9150\n", 373 | "Saving model because its better\n", 374 | "---\n", 375 | "Началось обучение 11 эпохи\n", 376 | "The 11 Epoch of network learning is over:\n", 377 | "Train results Epoch 11: Train loss - 0.3320, Train accuracy - 0.9059\n", 378 | "Validation results Epoch 11: Val loss - 0.2966, Test accuracy - 0.9175\n", 379 | "Saving model because its better\n", 380 | "---\n", 381 | "Началось обучение 12 эпохи\n", 382 | "The 12 Epoch of network learning is over:\n", 383 | "Train results Epoch 12: Train loss - 0.3210, Train accuracy - 0.9082\n", 384 | "Validation results Epoch 12: Val loss - 0.2887, Test accuracy - 0.9195\n", 385 | "Saving model because its better\n", 386 | "---\n", 387 | "Началось обучение 13 эпохи\n", 388 | "The 13 Epoch of network learning is over:\n", 389 | "Train results Epoch 13: Train loss - 0.3147, Train accuracy - 0.9094\n", 390 | "Validation results Epoch 13: Val loss - 0.2819, Test accuracy - 0.9208\n", 391 | "Saving model because its better\n", 392 | "---\n", 393 | "Началось обучение 14 эпохи\n", 394 | "The 14 Epoch of network learning is over:\n", 395 | "Train results Epoch 14: Train loss - 0.3087, Train accuracy - 0.9121\n", 396 | "Validation results Epoch 14: Val loss - 0.2748, Test accuracy - 0.9243\n", 397 | "Saving model because its better\n", 398 | "---\n", 399 | "Началось обучение 15 эпохи\n", 400 | "The 15 Epoch of network learning is over:\n", 401 | "Train results Epoch 15: Train loss - 0.3021, Train accuracy - 0.9128\n", 402 | "Validation results Epoch 15: Val loss - 0.2689, Test accuracy - 0.9261\n", 403 | "Saving model because its better\n", 404 | "---\n", 405 | "max accuracy = 0.9261\n" 406 | ] 407 | } 408 | ], 409 | "source": [ 410 | "# Начало MLflow запуска\n", 411 | "with mlflow.start_run(run_name='FCNetwork_1') as run:\n", 412 | " model = FCNetwork(prob=prob, n_inside=n_inside)\n", 413 | " model.to(device)\n", 414 | "\n", 415 | " loss_func = nn.CrossEntropyLoss()\n", 416 | " optimizer = torch.optim.Adam(model.parameters(), lr=lr)\n", 417 | "\n", 418 | " mlflow.log_param(\"prob dropout\", prob)\n", 419 | " mlflow.log_param(\"neurons 2 layer\", n_inside)\n", 420 | " mlflow.log_param(\"lr\", lr)\n", 421 | " mlflow.log_param(\"optimizer\", 'Adam')\n", 422 | " mlflow.log_param(\"epochs\", epochs)\n", 423 | "\n", 424 | " maxacc = 0\n", 425 | " itr_record = 0\n", 426 | "\n", 427 | " for epoch in range(epochs):\n", 428 | " epoch += 1\n", 429 | " model.train()\n", 430 | " train_loss = 0.0\n", 431 | " train_acc = 0.0\n", 432 | " train_samples = 0\n", 433 | "\n", 434 | " print(f'Началось обучение {epoch} эпохи')\n", 435 | " for itr, data in enumerate(train_loader):\n", 436 | " imgs = data[0].to(device) # [B, H, W]\n", 437 | " labels = data[1].to(device)\n", 438 | "\n", 439 | " y_pred = model(imgs) \n", 440 | " loss = loss_func(y_pred, labels)\n", 441 | "\n", 442 | " train_loss += loss.item() * imgs.size(0)\n", 443 | " train_acc += accuracy(y_pred, labels) * imgs.size(0)\n", 444 | " train_samples += imgs.size(0)\n", 445 | "\n", 446 | " optimizer.zero_grad()\n", 447 | " loss.backward()\n", 448 | " optimizer.step()\n", 449 | "\n", 450 | " train_loss /= train_samples\n", 451 | " train_acc /= train_samples\n", 452 | " mlflow.log_metric(\"train_loss\", train_loss, step=epoch)\n", 453 | " mlflow.log_metric(\"train_acc\", train_acc, step=epoch)\n", 454 | " print(f'The {epoch} Epoch of network learning is over:')\n", 455 | " print(f'Train results Epoch {epoch}: Train loss - {train_loss:.4f}, Train accuracy - {train_acc:.4f}')\n", 456 | "\n", 457 | " model.eval()\n", 458 | " val_loss = 0.0\n", 459 | " val_acc = 0.0\n", 460 | " val_samples = 0\n", 461 | "\n", 462 | " with torch.no_grad():\n", 463 | " for itr, data in enumerate(val_loader):\n", 464 | " imgs = data[0].to(device)\n", 465 | " labels = data[1].to(device)\n", 466 | " y_pred = model(imgs)\n", 467 | " loss = loss_func(y_pred, labels)\n", 468 | "\n", 469 | " val_loss += loss.item() * imgs.size(0)\n", 470 | " val_acc += accuracy(y_pred, labels) * imgs.size(0)\n", 471 | " val_samples += imgs.size(0)\n", 472 | "\n", 473 | " val_loss /= val_samples\n", 474 | " val_acc /= val_samples\n", 475 | " mlflow.log_metric(\"val_loss\", val_loss, step=epoch)\n", 476 | " mlflow.log_metric(\"val_acc\", val_acc, step=epoch)\n", 477 | " print(f'Validation results Epoch {epoch}: Val loss - {val_loss:.4f}, Test accuracy - {val_acc:.4f}')\n", 478 | "\n", 479 | " if val_acc > maxacc:\n", 480 | " print('Saving model because its better')\n", 481 | " maxacc = val_acc\n", 482 | " mlflow.pytorch.log_model(model, \"model\")\n", 483 | " print('---')\n", 484 | "\n", 485 | " print('max accuracy = ', maxacc)\n", 486 | " mlflow.log_metric(\"max val accuracy\", maxacc)\n", 487 | "\n", 488 | "mlflow.end_run()" 489 | ] 490 | }, 491 | { 492 | "cell_type": "markdown", 493 | "metadata": {}, 494 | "source": [ 495 | "---" 496 | ] 497 | }, 498 | { 499 | "cell_type": "markdown", 500 | "metadata": {}, 501 | "source": [ 502 | "## Запуск обученной модели:" 503 | ] 504 | }, 505 | { 506 | "cell_type": "code", 507 | "execution_count": 12, 508 | "metadata": {}, 509 | "outputs": [], 510 | "source": [ 511 | "def load_model(model_uri):\n", 512 | " \"\"\"Загрузка модели из MLflow.\"\"\"\n", 513 | " model = mlflow.pytorch.load_model(model_uri)\n", 514 | " model.eval() # Переводим модель в режим оценки\n", 515 | " return model\n", 516 | "\n", 517 | "def predict(model, input_data):\n", 518 | " \"\"\"Выполнение инференса.\"\"\"\n", 519 | " with torch.no_grad():\n", 520 | " output = model(input_data)\n", 521 | " return output" 522 | ] 523 | }, 524 | { 525 | "cell_type": "code", 526 | "execution_count": 13, 527 | "metadata": {}, 528 | "outputs": [ 529 | { 530 | "name": "stdout", 531 | "output_type": "stream", 532 | "text": [ 533 | "tensor([[ 1.5928, 1.1507, 4.4580, -0.3509, -4.3244, 0.7749, 0.1126, -6.8168,\n", 534 | " 1.2436, -6.6594]], device='cuda:0')\n" 535 | ] 536 | } 537 | ], 538 | "source": [ 539 | "model_uri = \"runs:/ef937515149145ddbfb16b90e3e71b20/model\" # Замените на реальный идентификатор запуска\n", 540 | "loaded_model = load_model(model_uri).to(device)\n", 541 | "loaded_model.eval()\n", 542 | "\n", 543 | "# Пример входных данных\n", 544 | "input_data = torch.randn(1, 1, 28, 28).to(device)\n", 545 | "\n", 546 | "# Выполнение инференса\n", 547 | "output = predict(loaded_model, input_data)\n", 548 | "print(output)" 549 | ] 550 | }, 551 | { 552 | "cell_type": "code", 553 | "execution_count": 14, 554 | "metadata": {}, 555 | "outputs": [ 556 | { 557 | "data": { 558 | "image/png": "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HbMeyVR9fb0aGxsjnh+BQEC5ubnX5fOjoqJCaWlpuuOOO7Rs2TI1NzdbjxRTLS0tkqSUlBRJ0sGDB9XR0RHxfBg3bpxGjRoV18+Hrx6Hz73++utKTU3V+PHjVVJSorNnz1qM160+dzXsr/r000918eJFpaenR9yenp6ujz76yGgqG7m5udq0aZPuuOMONTQ0aM2aNbrnnnt05MgRJSUlWY9norGxUZK6fH58ft/1YtasWXrwwQeVnZ2turo6PfPMMyosLFRVVZUGDhxoPV7UdXZ2asWKFZo6darGjx8v6dLzITExUcOGDYvYN56fD10dB0l6+OGHNXr0aGVmZurw4cN6+umnVVNTozfeeMNw2kh9PkD4QmFhYfjPEydOVG5urkaPHq3f/OY3euyxxwwnQ1+wYMGC8J8nTJigiRMnauzYsaqoqND06dMNJ4uNoqIiHTly5Lp4H/RKujsOS5YsCf95woQJysjI0PTp01VXV6exY8f29phd6vMvwaWmpmrgwIGXfYqlqalJwWDQaKq+YdiwYbr99ttVW1trPYqZz58DPD8uN2bMGKWmpsbl82P58uXatWuX3n333YjfHxYMBnX+/HmdPn06Yv94fT50dxy6kpubK0l96vnQ5wOUmJioSZMmqby8PHxbZ2enysvLlZeXZziZvTNnzqiurk4ZGRnWo5jJzs5WMBiMeH6EQiHt37//un9+nDhxQs3NzXH1/HDOafny5dq+fbveeecdZWdnR9w/adIkJSQkRDwfampqdOzYsbh6PlztOHTl0KFDktS3ng/Wn4L4OrZs2eL8fr/btGmT+/DDD92SJUvcsGHDXGNjo/VoveqHP/yhq6iocPX19e53v/udKygocKmpqe7UqVPWo8VUa2ur++CDD9wHH3zgJLl169a5Dz74wP35z392zjn3s5/9zA0bNszt3LnTHT582M2ZM8dlZ2e7zz77zHjy6LrScWhtbXVPPvmkq6qqcvX19W7Pnj3uW9/6lrvtttvcuXPnrEePmmXLlrlAIOAqKipcQ0NDeDt79mx4n6VLl7pRo0a5d955xx04cMDl5eW5vLw8w6mj72rHoba21v34xz92Bw4ccPX19W7nzp1uzJgxbtq0acaTR+oXAXLOuVdeecWNGjXKJSYmuilTprjq6mrrkXrd/PnzXUZGhktMTHQ333yzmz9/vqutrbUeK+beffddJ+mybeHChc65Sx/Ffu6551x6errz+/1u+vTprqamxnboGLjScTh79qybMWOGGzFihEtISHCjR492ixcvjru/pHX1zy/Jbdy4MbzPZ5995n7wgx+4m266yQ0ZMsQ98MADrqGhwW7oGLjacTh27JibNm2aS0lJcX6/3916663uRz/6kWtpabEd/Cv4fUAAABN9/j0gAEB8IkAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYOK/ARDwzMLvaVDnAAAAAElFTkSuQmCC", 559 | "text/plain": [ 560 | "
" 561 | ] 562 | }, 563 | "metadata": {}, 564 | "output_type": "display_data" 565 | }, 566 | { 567 | "data": { 568 | "image/png": "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77/v3n//fSfJPf744+799993f/nLX5xzzv3kJz9xKSkpbuPGjW7Xrl1u7ty5Ljc313355ZfGk8fWyc5Da2uru+eee1xVVZWrr693W7Zscd/5znfchRde6I4cOWI9eswsWbLEBQIBV1FR4RobG8Pb4cOHw/vccccdbtSoUW7r1q1ux44drqCgwBUUFBhOHXunOg91dXXuxz/+sduxY4err693GzdudGPGjHHTp083njxSvwiQc8499dRTbtSoUS4xMdFNnTrVVVdXW4/U6xYsWOCysrJcYmKiO++889yCBQtcXV2d9Vhx9/rrrztJJ2wLFy50zh3/KPaDDz7oMjIynN/vdzNnznS1tbW2Q8fByc7D4cOH3axZs9yIESPcsGHD3OjRo93ixYsH3B/Suvv3l+TWrFkT3ufLL790P/jBD9w555zjzjzzTHfNNde4xsZGu6Hj4FTnYd++fW769OkuNTXV+f1+d8EFF7gf/ehHLhgM2g7+Dfw+IACAiT7/HhAAYGAiQAAAEwQIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABg4v8BTJEwX2iNKGcAAAAASUVORK5CYII=", 569 | "text/plain": [ 570 | "
" 571 | ] 572 | }, 573 | "metadata": {}, 574 | "output_type": "display_data" 575 | }, 576 | { 577 | "data": { 578 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGzCAYAAABpdMNsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAbDklEQVR4nO3df3BU9f3v8dfyIwtosmkIyWYlQECFKhCnFNIMSrHkkqTz5YIyHX91BhwHrzQwRWp10lFR2vmmxTvW0aYyc8eSer+Cyr0CV6/S0WDCtQ10iDAMtzZDmFTCNz8o3JtsCBIi+dw/uG5dSaRn2c07mzwfM2eG7J5PztvT1WcPuznxOeecAAAYZKOsBwAAjEwECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAYPk3Llz2rRpk0pKSpSRkSGfz6eqqirrsQAzBAgYJGfOnNHmzZv1ySefKD8/33ocwNwY6wGAkSInJ0etra0KBoM6dOiQ5s+fbz0SYIorIGCQ+P1+BYNB6zGAIYMAAQBMECAAgAkCBAAwQYAAACYIEADABAECAJggQAAAE/wgKjCIfvOb36ijo0MtLS2SpLffflunTp2SJK1fv16BQMByPGBQ+ZxzznoIYKSYNm2aPv30036fa2pq0rRp0wZ3IMAQAQIAmOA9IACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATQ+4HUfv6+tTS0qLU1FT5fD7rcQAAHjnn1NXVpVAopFGjBr7OGXIBamlpUW5urvUYAIBr1NzcrMmTJw/4/JALUGpqqiTpdn1fYzTWeBoAgFefq1cf6d3If88HkrAAVVZW6rnnnlNbW5vy8/P10ksvacGCBVdd98Vfu43RWI3xESAASDr///46V3sbJSEfQnjjjTe0ceNGbdq0SR9//LHy8/NVXFys06dPJ+JwAIAklJAAPf/881qzZo0efPBB3XLLLdq6dasmTJig3/3ud4k4HAAgCcU9QBcvXlR9fb2Kior+cZBRo1RUVKS6uror9u/p6VE4HI7aAADDX9wDdObMGV26dEnZ2dlRj2dnZ6utre2K/SsqKhQIBCIbn4ADgJHB/AdRy8vL1dnZGdmam5utRwIADIK4fwouMzNTo0ePVnt7e9Tj7e3tCgaDV+zv9/vl9/vjPQYAYIiL+xVQSkqK5s2bp+rq6shjfX19qq6uVmFhYbwPBwBIUgn5OaCNGzdq1apV+va3v60FCxbohRdeUHd3tx588MFEHA4AkIQSEqB77rlHf//73/X000+rra1Nt912m/bu3XvFBxMAACOXzznnrIf4snA4rEAgoMVazp0QACAJfe56VaM96uzsVFpa2oD7mX8KDgAwMhEgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgAkCBAAwQYAAACYIEADABAECAJggQAAAEwQIAGCCAAEATBAgAIAJAgQAMEGAAAAmCBAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATY6wHAJA4vnm3xrTuf/6P/+p5zZyt6zyvyf35nzyvwfDBFRAAwAQBAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIKbkQLD2On5aTGt+1yXPK+Z0OJiOhZGLq6AAAAmCBAAwETcA/TMM8/I5/NFbbNmzYr3YQAASS4h7wHdeuut+uCDD/5xkDG81QQAiJaQMowZM0bBYDAR3xoAMEwk5D2g48ePKxQKafr06XrggQd08uTJAfft6elROByO2gAAw1/cA1RQUKCqqirt3btXL7/8spqamnTHHXeoq6ur3/0rKioUCAQiW25ubrxHAgAMQXEPUGlpqX7wgx9o7ty5Ki4u1rvvvquOjg69+eab/e5fXl6uzs7OyNbc3BzvkQAAQ1DCPx2Qnp6um2++WY2Njf0+7/f75ff7Ez0GAGCISfjPAZ07d04nTpxQTk5Oog8FAEgicQ/QY489ptraWv3tb3/Tn/70J911110aPXq07rvvvngfCgCQxOL+V3CnTp3Sfffdp7Nnz2rSpEm6/fbbdeDAAU2aNCnehwIAJLG4B+j111+P97cEEKP/O9f7TUUl6dTnPZ7XTHylLqZjYeTiXnAAABMECABgggABAEwQIACACQIEADBBgAAAJggQAMAEAQIAmCBAAAATBAgAYIIAAQBMECAAgImE/0I6APHhFt7mec3/+pfnYzrWd/ev97zmRh2O6VgYubgCAgCYIEAAABMECABgggABAEwQIACACQIEADBBgAAAJggQ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", 579 | "text/plain": [ 580 | "
" 581 | ] 582 | }, 583 | "metadata": {}, 584 | "output_type": "display_data" 585 | }, 586 | { 587 | "data": { 588 | "image/png": "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J08OqNeHc07Lli3Tpk2btGPHDuXl5UU8P2XKFCUnJ0e8Hurq6nT06NEB9Xr4ovPQmwMHDkhS33o9WH8K4h/xyiuvOL/f7yoqKtz777/vFi9e7EaMGOGam5utR0uo73//+66qqso1NDS43//+966oqMhlZGS4EydOWI8WV21tbW7//v1u//79TpJ78skn3f79+92f//xn55xzP/nJT9yIESPcli1b3MGDB93s2bNdXl6e+/jjj40nj62LnYe2tjb30EMPuZqaGtfQ0ODefvtt97Wvfc1dffXVrqOjw3r0mFm6dKkLBAKuqqrKNTU1hR9nzpwJ77NkyRI3ZswYt2PHDrdv3z5XWFjoCgsLDaeOvS86D/X19e5HP/qR27dvn2toaHBbtmxx48aNc9OmTTOePFK/CJBzzj3zzDNuzJgxbtiwYW7q1Klu9+7d1iMl3J133ulycnLcsGHD3Je//GV35513uvr6euux4u6dd95xks57zJ8/3zl37qPYK1eudFlZWc7v97sZM2a4uro626Hj4GLn4cyZM27mzJlu1KhRLjk52Y0dO9YtWrRowP1HWm//+yW59evXh/f5+OOP3f333+++9KUvucsuu8zNnTvXNTU12Q0dB190Ho4ePeqmTZvm0tPTnd/vd1dddZX7wQ9+4FpbW20H/xx+HxAAwESffw8IADAwESAAgAkCBAAwQYAAACYIEADABAECAJggQAAAEwQIAGCCAAEATBAgAIAJAgQAMPH/AEwBT6Dy00YdAAAAAElFTkSuQmCC", 589 | "text/plain": [ 590 | "
" 591 | ] 592 | }, 593 | "metadata": {}, 594 | "output_type": "display_data" 595 | } 596 | ], 597 | "source": [ 598 | "with torch.no_grad():\n", 599 | " for itr,data in enumerate(val_loader):\n", 600 | " if itr == 0:\n", 601 | " imgs = data[0].to(device) #b,c,w,h\n", 602 | " labels = data[1].to(device)\n", 603 | " y_pred = predict(loaded_model, imgs)\n", 604 | " y_pred = torch.argmax(y_pred, dim=1)\n", 605 | " for i in range(4):\n", 606 | " im = np.transpose((imgs[i].cpu().numpy()), (1, 2, 0))\n", 607 | " plt.figure()\n", 608 | " plt.imshow(im) #w,h,c\n", 609 | " plt.title(y_pred[i].cpu().numpy())\n", 610 | " plt.show()" 611 | ] 612 | }, 613 | { 614 | "attachments": {}, 615 | "cell_type": "markdown", 616 | "metadata": {}, 617 | "source": [ 618 | "___" 619 | ] 620 | } 621 | ], 622 | "metadata": { 623 | "kernelspec": { 624 | "display_name": "patched_yolo_infer", 625 | "language": "python", 626 | "name": "python3" 627 | }, 628 | "language_info": { 629 | "codemirror_mode": { 630 | "name": "ipython", 631 | "version": 3 632 | }, 633 | "file_extension": ".py", 634 | "mimetype": "text/x-python", 635 | "name": "python", 636 | "nbconvert_exporter": "python", 637 | "pygments_lexer": "ipython3", 638 | "version": "3.11.8" 639 | }, 640 | "orig_nbformat": 4 641 | }, 642 | "nbformat": 4, 643 | "nbformat_minor": 2 644 | } 645 | -------------------------------------------------------------------------------- /titanic.csv: -------------------------------------------------------------------------------- 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 893 | --------------------------------------------------------------------------------