{"id":397787,"date":"2024-06-29T13:40:37","date_gmt":"2024-06-29T13:40:37","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=397787"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=397787","title":{"rendered":"<span>Kaggle titanic dataset. \u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SQL \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u043e\u044e \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u044b\u0436\u0438\u0432\u0448\u0438\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c SQL \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u0430 \u0442\u0430\u043a \u0436\u0435 Python \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. <\/p>\n<p>\u041f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u044f \u0431\u0443\u0434\u0443 \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 Kaggle. \u0414\u0430\u043d\u043d\u044b\u0435 \u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0443 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 Google BigQuery, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0421\u0423\u0411\u0414. \u041e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c, \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0411\u0414, \u044f \u0431\u0443\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<h2>\u0426\u0435\u043b\u044c<\/h2>\n<p>\u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e Python \u0431\u044b\u043b \u0431\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u044f \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0441\u043c\u043e\u0433\u0443 \u043b\u0438 \u044f \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0432\u0435\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SQL. \u041c\u043e\u044f \u0446\u0435\u043b\u044c &#8212; \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c SQL \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u0425\u043e\u0442\u044f SQL \u0438\u043c\u0435\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0441 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u044b\u0433\u043e\u0434\u044b, \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u0432\u0435\u0434\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.<\/p>\n<h2>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>Kaggle \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0432\u0443\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 csv:<\/p>\n<ul>\n<li>\n<p>train.csv (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 10 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0439 &#8212; \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435)<\/p>\n<\/li>\n<li>\n<p>test.csv (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 10 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432)<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0411\u0414 GBQ \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4a7\/026\/bea\/4a7026beab171489cc6e8df0bb0b404a.png\" width=\"749\" height=\"163\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4a7\/026\/bea\/4a7026beab171489cc6e8df0bb0b404a.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">from google.cloud import bigquery  # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ID \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u0437 Google Cloud Platform PROJECT_ID = 'kaggle-titanic-sql' client = bigquery.Client(project=PROJECT_ID, location=\"US\") dataset = client.create_dataset('741852', exists_ok=True)  # \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 table = client.get_table(\"kaggle-titanic-sql.741852.titanic_train\")  # \u041f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 client.list_rows(table, max_results=5, start_index=1).to_dataframe()<\/code><\/pre>\n<p><strong>\u0412\u0410\u0416\u041d\u041e: <\/strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c SQL-\u0437\u0430\u043f\u0440\u043e\u0441 \u043a GBQ, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430.<\/p>\n<pre><code class=\"python\">query = \"\"\" SQL - \u0437\u0430\u043f\u0440\u043e\u0441 \"\"\"  query_job = client.query(query); query_df = query_job.to_dataframe(); query_df<\/code><\/pre>\n<h2>\u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442 \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438. \u041e\u043d \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u043e\u0441\u044b \u0438\u043b\u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b. \u0427\u0430\u0441\u0442\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043d\u0430\u0439\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u043b\u0438\u044f\u044e\u0449\u0438\u0435 \u043d\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0436\u0438\u0442\u044c \u043f\u0440\u0438 \u043a\u0440\u0443\u0448\u0435\u043d\u0438\u0438 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;, \u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u0443\u043b\u0443\u0447\u0448\u0430\u044e\u0449\u0438\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438.<br \/>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435, \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439 (\u0442.\u043a. \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043d\u0435\u0442 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#8212; &#171;Survived&#187;). \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0432\u043a\u043b\u044e\u0447\u0438\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443.<\/p>\n<h2>1. \u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u0437-\u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u0441\u0438\u043b\u0443 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438\u043c\u0435\u0435\u0442\u0441\u044f 19,9%, 77,1%, 0,2% \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 &#171;Age&#187;, &#171;Cabin&#187; \u0438 &#171;Embarked&#187; \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u0418 \u0435\u0441\u043b\u0438 \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c &#171;Age&#187; \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u0445 \u0434\u043e\u043b\u0435\u0439 (\u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435), \u0442\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Cabin&#187; \u043c\u0430\u043b\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442.\u043a. \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b12\/07b\/eb1\/b1207beb162d2d2bbabf93415a7f0290.png\" width=\"812\" height=\"76\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b12\/07b\/eb1\/b1207beb162d2d2bbabf93415a7f0290.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select round(100 * sum(case when survived is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Survivedved, round(100 * sum(case when pclass is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Pclass,     round(100 * sum(case when name is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Name,     round(100 * sum(case when sex is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Sex,     round(100 * sum(case when age is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Age,     round(100 * sum(case when sibsp is null then 1 else 0 end) \/ max(f.total_passeng), 1) as SibSp,     round(100 * sum(case when parch is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Parch,     round(100 * sum(case when ticket is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Ticket,     round(100 * sum(case when fare is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Fare,     round(100 * sum(case when cabin is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Cabin,     round(100 * sum(case when embarked is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Embarked from     (      select          count(*) over() as total_passeng,          t.*      from `kaggle-titanic-sql.741852.titanic_train` t      ) f<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 CASE. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 CASE \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 (\u0430\u043d\u0430\u043b\u043e\u0433 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 if-elif-else \u0432 Python).<br \/>\u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a\u0438\u043c\u0438: \u0435\u0441\u043b\u0438 \u0432 &#171;\u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0435&#187; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u043c &#8212; null, \u0442\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0444\u043b\u0430\u0433 (1), \u0438\u043d\u0430\u0447\u0435 (0). \u0414\u0430\u043b\u0435\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c (1) \u0438 \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<h2>2. \u041e\u0431\u0449\u0430\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c<\/h2>\n<p>\u0412 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 891 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440, \u0438\u0437 \u043d\u0438\u0445 \u0432\u044b\u0436\u0438\u0432\u0448\u0438\u0445 342 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0447\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 38,4% \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 &#8212; &#171;Survived&#187; \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d &#8212; 62% \/ 38%.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3aa\/491\/ece\/3aa491ececca620ab5296725265ab845.png\" width=\"564\" height=\"120\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3aa\/491\/ece\/3aa491ececca620ab5296725265ab845.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select case when f.survived = 1 then 'Survived' else 'Not Survived' end as Survival_status,     count(*) as Survival_rate,     round(100 * count(*) \/ max(f.total_passeng), 1) as Percent,     max(f.total_passeng) as Total_passengers from     (      select      count(*) over() as total_passeng,         t.*      from `kaggle-titanic-sql.741852.titanic_train` t      ) f group by f.survived<\/code><\/pre>\n<h2>3. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u0443 \u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443<\/h2>\n<p><strong>\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438: <\/strong>\u043d\u0430 \u0431\u043e\u0440\u0442\u0443 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187; \u0431\u044b\u043b\u043e 1317 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0438 908 \u0447\u043b\u0435\u043d\u043e\u0432 \u044d\u043a\u0438\u043f\u0430\u0436\u0430, \u0432 \u043e\u0431\u0449\u0435\u0439 \u0441\u0443\u043c\u043c\u0435 2225 \u0447\u0435\u043b\u043e\u0432\u0435\u043a. &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a&#187; \u0431\u044b\u043b \u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u043c \u043f\u0430\u0440\u043e\u0445\u043e\u0434\u043e\u043c. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0437\u0430\u043a\u043e\u043d\u0430\u043c \u0411\u0440\u0438\u0442\u0430\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u0440\u0430\u0431\u043b\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0448\u043b\u044e\u043f\u043e\u043a, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0432\u043e\u0434\u043e\u0438\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u0441\u0443\u0434\u043d\u0430, \u043d\u043e \u043d\u0435 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438. \u0422\u0438\u0442\u0430\u043d\u0438\u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u044d\u0442\u0438\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0438 \u0438\u043c\u0435\u043b 20 \u0448\u043b\u044e\u043f\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u043d\u0430 \u043f\u043e\u0433\u0440\u0443\u0437\u043a\u0443 1178 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<p><strong>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430<\/strong>: \u041a\u0430\u043f\u0438\u0442\u0430\u043d \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u0447\u0442\u043e \u043c\u0435\u0441\u0442 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0432 \u0448\u043b\u044e\u043f\u043a\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442, \u0438 \u0431\u044b\u043b \u043e\u0442\u0434\u0430\u043d \u043f\u0440\u0438\u043a\u0430\u0437 &#8212; \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0448\u043b\u044e\u043f\u043a\u0438 \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u0434\u0435\u0442\u0435\u0439.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043d\u0430\u0448\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u0434\u0435\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u043e\u0431\u043b\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 \u0448\u0430\u043d\u0441 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043c\u0443\u0436\u0447\u0438\u043d\u0430\u043c\u0438.<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0436\u0435\u043d\u0449\u0438\u043d \u043e\u0442 \u043c\u0443\u0436\u0447\u0438\u043d \u0441\u0440\u0435\u0434\u0438 \u0438\u0445 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0416\u0435\u043d\u0449\u0438\u043d \u0431\u044b\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 2 \u0440\u0430\u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u043c\u0443\u0436\u0447\u0438\u043d \u043d\u0430 \u0441\u0443\u0434\u043d\u0435: 64.76% \u043c\u0443\u0436\u0447\u0438\u043d \u0438 35.24% \u0436\u0435\u043d\u0449\u0438\u043d.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u043b\u043e\u0432\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 74.2% \u0438 18.89% \u0434\u043b\u044f \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u043c\u0443\u0436\u0447\u0438\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0436\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 &#8212; &#171;Sex&#187;.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/10d\/799\/bba\/10d799bbaa6ebafd28652c9ddc588ac5.png\" alt=\"\" title=\"\" width=\"439\" height=\"87\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/10d\/799\/bba\/10d799bbaa6ebafd28652c9ddc588ac5.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select f.sex,     sum(f.survived) as count_survived,     max(f.gender_cnt) as total_passeng,     round(100 * max(f.gender_cnt) \/ max(f.total_passeng), 2) as sex_rate,     round(100 *sum(f.survived) \/ max(gender_cnt), 2) as percent_survived, from     (       select       passengerid,           count(*) over(partition by sex) as gender_cnt,           count(*) over() as total_passeng,           sex,           survived        from `kaggle-titanic-sql.741852.titanic_train` t     ) f group by f.sex<\/code><\/pre>\n<p>\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0435\u043b\u0438\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c \u0435\u0433\u043e \u043d\u0430 7 \u0433\u0440\u0443\u043f\u043f (\u0434\u0435\u0442\u0438 \u043c\u043b\u0430\u0434\u0448\u0435 10, \u043e\u0442 10 \u0434\u043e 20 \u043b\u0435\u0442, \u0438 \u0442.\u0434.), \u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043e\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0432 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0430 7 \u0433\u0440\u0443\u043f\u043f, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b: \u0412\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0436\u0435\u043d\u0449\u0438\u043d \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0438\u043c\u0435\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 &#8212; \u0431\u043e\u043b\u044c\u0448\u0435 60%, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0440\u0435\u0434\u0438 \u043c\u0443\u0436\u0447\u0438\u043d \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u0443 \u0434\u0435\u0442\u0435\u0439 \u043c\u043b\u0430\u0434\u0448\u0435 10 \u043b\u0435\u0442 &#8212; 59%, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0443\u0436\u0447\u0438\u043d \u043e\u0442 10 \u0434\u043e 20 \u043b\u0435\u0442 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 12% \u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u044d\u0442\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0433\u0440\u0443\u043f\u043f.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4e5\/ce1\/f51\/4e5ce1f5112469c66ca2fd7d693373ec.png\" width=\"503\" height=\"465\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4e5\/ce1\/f51\/4e5ce1f5112469c66ca2fd7d693373ec.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select sex,     case     when age &lt; 10 then '10 &lt; age'         when age >=10 and age &lt; 20 then '10&lt;= age &lt; 20'         when age >= 20 and age &lt; 30 then '20&lt;= age &lt; 30'         when age >=30 and age &lt; 40 then '30&lt;= age &lt; 40'         when age >=40 and age &lt; 55 then '40&lt;= age &lt; 55'         when age >=55 then '55 &lt;= age'         else 'None_age'      end as age_grouping,      sum(survived) as count_survived,      count(sex) as total_count,      round(sum(survived)\/count(survived), 4) as percent_survived from `kaggle-titanic-sql.741852.titanic_train` group by age_grouping, sex order by sex, age_grouping<\/code><\/pre>\n<h2>4. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u0438\u0442\u0443\u043b\u0430 \u0438\u0437 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438<\/h2>\n<p>\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 &#8212; &#171;Name&#187; \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u043c \u0447\u0442\u043e-\u0442\u043e \u043e \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u043b\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u0438\u0437 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Name&#187; \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u0442\u0443\u043b\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u0442\u0443\u043b\u043e\u0432 \u0432 \u0438\u043c\u0435\u043d\u0430\u0445. \u0412\u0441\u0435\u0433\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 17 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u0442\u0443\u043b\u043e\u0432, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0440\u0430\u0437\u0440\u044f\u0436\u0435\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0435 \u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0442\u0430\u043a\u0438\u0445 \u0442\u0438\u0442\u0443\u043b\u0430\u0445 \u043a\u0430\u043a: Sir, Major \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439, \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0442\u0438\u0442\u0443\u043b\u0430\u043c\u0438, \u043a\u0430\u043a Miss \u0438 Mr.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c2a\/4aa\/812\/c2a4aa81266501230ca6ff1d35772c67.png\" alt=\"\" title=\"\" width=\"446\" height=\"561\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c2a\/4aa\/812\/c2a4aa81266501230ca6ff1d35772c67.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select  split(split(f.name, ',' )[offset(1)], '.')[offset(0)] as title_name,     count(f.total_passeng) as total_passeng,     sum(f.survived) as total_survived,     round(100 * sum(f.survived) \/ count(f.total_passeng), 1) as percent_survived from      (      select      name,         count(*) over() as total_passeng,         survived,      from `kaggle-titanic-sql.741852.titanic_train` t      ) f  group by title_name<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c 17 \u0442\u0438\u0442\u0443\u043b\u043e\u0432 \u0432 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b: Mr, Mrs, Miss \u0438 Master. \u0422\u0438\u0442\u0443\u043b Master \u0432 19 \u0432\u0435\u043a\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0434\u0435\u0442\u044f\u043c \u043c\u0443\u0436\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u043b\u0430, Miss \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u043d\u0435\u0437\u0430\u043c\u0443\u0436\u043d\u0438\u043c \u0436\u0435\u043d\u0449\u0438\u043d\u0430\u043c, \u043d\u043e \u0432 19 \u0432\u0435\u043a\u0435 \u043d\u0435\u0437\u0430\u043c\u0443\u0436\u043d\u0438\u043c\u0438 \u0431\u044b\u043b\u0438, \u0432 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u043b\u043e\u0434\u044b\u0435 \u0434\u0435\u0432\u0443\u0448\u043a\u0438 \u0438 \u0434\u0435\u0432\u043e\u0447\u043a\u0438, Mrs \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0437\u0430\u043c\u0443\u0436\u043d\u0438\u043c \u0436\u0435\u043d\u0449\u0438\u043d\u0430\u043c, Mr &#8212; \u043c\u0443\u0436\u0447\u0438\u043d\u0430, \u043d\u0435\u0432\u0430\u0436\u043d\u043e, \u0437\u0430\u043c\u0443\u0436\u043d\u0438\u0439 \u0438\u043b\u0438 \u043d\u0435\u0442.<\/p>\n<p>\u0412 \u0433\u0440\u0443\u043f\u043f\u0443 Mr \u043e\u0431\u043e\u0431\u0449\u0438\u043c \u0432\u0441\u0435\u0445 \u043c\u0443\u0436\u0447\u0438\u043d, \u043a\u0440\u043e\u043c\u0435 \u0434\u0435\u0442\u0435\u0439 &#171;Master&#187;. \u0412 \u0433\u0440\u0443\u043f\u043f\u0443 Miss \u0431\u0443\u0434\u0443\u0442 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u0437\u0430\u043c\u0443\u0436\u043d\u0438\u0435 \u0434\u0435\u0432\u0443\u0448\u043a\u0438 \u0438 \u0436\u0435\u043d\u0449\u0438\u043d\u044b, \u0430 \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 Mrs \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u0432\u0441\u0435\u0445 \u0437\u0430\u043c\u0443\u0436\u043d\u0438\u0445 \u0434\u0435\u0432\u0443\u0448\u0435\u043a \u0438 \u0436\u0435\u043d\u0449\u0438\u043d, \u0442\u0430\u043a \u0436\u0435 \u0434\u0435\u0432\u0443\u0448\u0435\u043a \u0438 \u0436\u0435\u043d\u0449\u0438\u043d \u0432 \u0442\u0438\u0442\u0443\u043b\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0437\u0430\u043c\u0443\u0436\u0435\u043c.<\/p>\n<p>\u0412\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0438\u0442\u0443\u043b\u0430, \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u043d\u0430\u0448\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443: \u0412\u0441\u0435 \u0436\u0435\u043d\u0449\u0438\u043d\u044b \u0438\u043c\u0435\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0440\u0435\u0434\u0438 \u043c\u0443\u0436\u0447\u0438\u043d \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0434\u0435\u0442\u0435\u0439.<br \/>\u042f \u0432\u043d\u0435\u0441\u0443 \u0438 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u0443\u044e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a &#8212; title_grouping_name \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1bf\/787\/099\/1bf7870997185fb33c87b7e3b7c2f6e6.png\" width=\"490\" height=\"151\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1bf\/787\/099\/1bf7870997185fb33c87b7e3b7c2f6e6.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select  case     when split(split(name, ', ')[offset(1)], '.')[offset(0)]in('Dr','Rev','Col','Major','Jonkheer','Sir','Don','Capt')         and sex = 'male' then 'Mr'                              when split(split(name, ', ')[offset(1)], '.')[offset(0)] in ('Mlle', 'Ms')         and sex = 'female' then 'Miss'                              when split(split(name, ', ')[offset(1)], '.')[offset(0)] in ('Dr','the Countess','Mme','Lady','Dona')         and sex = 'female' then 'Mrs'                              else split(split(name, ', ')[offset(1)], '.')[offset(0)]                              end as title_grouping_name, count(*) as total_passeng, sum(survived) as total_survived, round(100 * sum(survived) \/ count(*), 1) as survival_rate                  from `kaggle-titanic-sql.741852.titanic_train` group by title_grouping_name order by percent_survived desc<\/code><\/pre>\n<h2>5. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u044e\u0442\u044b \u0438 \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0441\u0430\u0434\u043a\u0438<\/h2>\n<p><strong>\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438: <\/strong>&#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a&#187; \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0430\u0439\u0441\u0431\u0435\u0440\u0433\u043e\u043c \u0432 \u043d\u043e\u0447\u044c \u0441 14 \u043d\u0430 15 \u0430\u043f\u0440\u0435\u043b\u044f 1912 \u0433\u043e\u0434\u0430. 14 \u0430\u043f\u0440\u0435\u043b\u044f \u0432 23:39 \u0432\u043f\u0435\u0440\u0451\u0434 \u0441\u043c\u043e\u0442\u0440\u044f\u0449\u0438\u0439\u00a0\u0434\u043e\u043b\u043e\u0436\u0438\u043b \u043d\u0430\u00a0\u043a\u0430\u043f\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u0439 \u043c\u043e\u0441\u0442\u0438\u043a\u00a0\u043e\u0431\u00a0\u0430\u0439\u0441\u0431\u0435\u0440\u0433\u0435\u00a0\u043f\u0440\u044f\u043c\u043e \u043f\u043e \u043a\u0443\u0440\u0441\u0443. \u041c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043c\u0438\u043d\u0443\u0442\u0443 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430: <\/strong>\u0421\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0432 23:40 \u0432\u0435\u0447\u0435\u0440\u0430, \u0432 23:40 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0438 \u043a\u043e\u0440\u0430\u0431\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u0430\u044e\u0442\u0430\u0445 &#8212; \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043a\u0430\u044e\u0442\u044b \u0432\u043b\u0438\u044f\u043b \u043d\u0430 \u0448\u0430\u043d\u0441 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f, \u0442.\u043a. \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u044b \u043d\u0438\u0436\u043d\u0438\u0445 \u043f\u0430\u043b\u0443\u0431, \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u0443\u0437\u043d\u0430\u043b\u0438 \u043e \u0441\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u043c\u0435\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u043f\u0430\u043b\u0443\u0431\u044b.<\/p>\n<p>\u041a\u0430\u044e\u0442\u044b  \u00ab\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430\u00bb \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0430 \u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0441\u0430: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0431\u044b\u043b \u0431\u043b\u0438\u0436\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043a \u043f\u0430\u043b\u0443\u0431\u0435 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;, \u0442\u0440\u0435\u0442\u0438\u0439 \u043a\u043b\u0430\u0441\u0441 \u0431\u044b\u043b \u0431\u043b\u0438\u0436\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043a\u043e \u0434\u043d\u0443 \u0441\u0443\u0434\u043d\u0430, \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 &#8212; \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0432\u044b\u043c \u0438 \u0442\u0440\u0435\u0442\u044c\u0438\u043c.<\/p>\n<p>\u0421\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0443\u0440\u043e\u0432\u043d\u044f\u043c \u043a\u0430\u044e\u0442 &#8212; &#171;Pclass&#187;, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044e \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u044e\u0442: 63% \u0434\u043b\u044f \u043a\u0430\u044e\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, 47% \u0434\u043b\u044f \u043a\u0430\u044e\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 24% \u0434\u043b\u044f \u043a\u0430\u044e\u0442 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u043a\u0430\u044e\u0442\u0430\u0445 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430. \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u044e\u0442\u044b \u043d\u0430 \u0448\u0430\u043d\u0441 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u0442\u043e\u0440\u044b\u043c \u043d\u0430\u0448\u0438\u043c \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c \u043d\u0430 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435, \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438, \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u044e\u0442\u044b &#8212; &#171;Pclass&#187;.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/385\/5cf\/3f7\/3855cf3f7accb1bea4641ffeba510921.png\" width=\"294\" height=\"118\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/385\/5cf\/3f7\/3855cf3f7accb1bea4641ffeba510921.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select pclass,     round(sum(survived)\/count(survived), 4) as percent_survived,     count(*) as total_passeng from `kaggle-titanic-sql.741852.titanic_train` group by pclass order by pclass<\/code><\/pre>\n<p>\u0418\u0437\u0443\u0447\u0438\u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u044e\u0442\u044b &#8212; &#171;Pclass&#187;, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443: \u0443 \u0436\u0435\u043d\u0449\u0438\u043d \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u044e\u0442\u044b, \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 90%, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0443 \u0436\u0435\u043d\u0449\u0438\u043d \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0433\u043e 50%. \u0423 \u043c\u0443\u0436\u0447\u0438\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u043a\u0430\u044e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043a\u0430\u044e\u0442, 36,89% \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0432\u0435\u0441 15,74% \u0434\u043b\u044f \u043a\u0430\u044e\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 13,54% \u0434\u043b\u044f \u043a\u0430\u044e\u0442 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430.<\/p>\n<p>\u041c\u044b \u0443\u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b\u0438 \u043d\u0430\u0448\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u043b\u0430\u0441\u0441 \u043a\u0430\u044e\u0442\u044b \u0432\u043b\u0438\u044f\u043b \u043d\u0430 \u0448\u0430\u043d\u0441 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u0432\u0434\u043e\u0431\u0430\u0432\u043e\u043a \u043a \u044d\u0442\u043e\u043c\u0443, \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0441\u043d\u0438\u0436\u0430\u043b\u0430\u0441\u044c, c\u043e \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u044e\u0442, \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043e\u043b\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430.<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/caa\/702\/670\/caa702670acfd7a7d090275cf4286fc0.png\" width=\"665\" height=\"120\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/caa\/702\/670\/caa702670acfd7a7d090275cf4286fc0.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select pclass,     count(*) as count_pass_group,     count(case when sex='female' then 1 else null end) as female_count,     count(case when sex='male' then 1 else null end) as male_count,     round(100*sum(case when sex='female' and survived=1 then 1 else 0 end)\/sum(case when sex='female' then 1 else 0 end), 2) as female_survived_rate,     round(100*sum(case when sex='male' and survived=1 then 1 else 0 end)\/sum(case when sex='male' then 1 else 0 end), 2) as male_survived_rate, from `kaggle-titanic-sql.741852.titanic_train` group by pclass order by pclass<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0422\u0438\u0442\u0430\u043d\u0438\u043a \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u0432 \u0421\u0430\u0443\u0442\u0433\u0435\u043c\u043f\u0442\u043e\u043d\u0435 (S) &#8212; \u0410\u043d\u0433\u043b\u0438\u044f, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u043b\u0441\u044f \u0432 \u0428\u0435\u0440\u0431\u0443\u0440 (C) &#8212; \u0424\u0440\u0430\u043d\u0446\u0438\u044f.\u00a0\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432 \u041a\u0432\u0438\u043d\u0441\u0442\u0430\u0443\u043d\u0435 (Q) &#8212; \u0418\u0440\u043b\u0430\u043d\u0434\u0438\u044f, \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u043b\u044b\u0442\u0438\u0435\u043c \u0432 \u041d\u044c\u044e-\u0419\u043e\u0440\u043a.<\/p>\n<p>\u0418\u0437 \u043c\u0438\u043d\u0443\u0441\u043e\u0432: \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a &#171;Embarked&#187; \u043c\u0430\u043b\u043e \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u0418\u0437 \u043f\u043b\u044e\u0441\u043e\u0432: \u043f\u0440\u0438\u0437\u043d\u0430\u043a &#171;Embarked&#187; \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043f\u043e\u0441\u0430\u0434\u043a\u0443 \u0441 \u043f\u043e\u0440\u0442\u0430 \u0432 \u0421\u0430\u0443\u0442\u0433\u0435\u043c\u043f\u0442\u043e\u043d\u0435 (S) &#8212; \u0410\u043d\u0433\u043b\u0438\u0438, \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u043c\u0435\u043d\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441 \u043f\u043e\u0440\u0442\u0430 \u0432 \u041a\u0432\u0438\u043d\u0441\u0442\u0430\u0443\u043d\u0435 (Q) &#8212; \u0418\u0440\u043b\u0430\u043d\u0434\u0438\u0438. (\u041d\u043e \u0432\u0440\u044f\u0434 \u043b\u0438 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c).<\/p>\n<p>\u0422\u0430\u043a \u0436\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 2 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u0432 \u043a\u0430\u043a\u043e\u043c \u0438\u0437 \u043f\u043e\u0440\u0442\u043e\u0432 \u043e\u043d\u0438 \u0441\u0435\u043b\u0438 \u043d\u0430 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a&#187;. \u0412\u0431\u0438\u0432 \u0438\u0445 \u0438\u043c\u0435\u043d\u0430 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 &#171;Google&#187; \u044f \u043d\u0430\u0448\u0435\u043b \u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u044e &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187; (<a href=\"https:\/\/www.encyclopedia-titanica.org\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.encyclopedia-titanica.org\/<\/a>), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u0447\u0442\u043e \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0441\u0435\u043b\u0438 \u043d\u0430 \u0441\u0443\u0434\u043d\u043e \u0432 \u0421\u0430\u0443\u0442\u0433\u0435\u043c\u043f\u0442\u043e\u043d\u0435 (S) &#8212; \u0410\u043d\u0433\u043b\u0438\u0438 (\u043f\u043e\u0437\u0436\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u044d\u0442\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/907\/123\/c3a\/907123c3ab5bde535ccb88be3186036f.png\" width=\"323\" height=\"150\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/907\/123\/c3a\/907123c3ab5bde535ccb88be3186036f.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select embarked,     count(*) as count_passengers,     round(100 * sum(survived)\/count(survived), 2) as survived_rate from `kaggle-titanic-sql.741852.titanic_train` group by embarked<\/code><\/pre>\n<h2>6. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u0442\u0430\u0440\u0438\u0444\u0430\u043c \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u0437\u0434\u0430 \u043d\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430<\/h2>\n<p>\u0427\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0446\u0435\u043d\u044b \u0438 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043a\u043e\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e &#171;ntile&#187;, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043f\u043e 6 \u043a\u043e\u0440\u0437\u0438\u043d\u0430\u043c \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f.\u00a0\u042d\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u0433\u0440\u044f\u0437\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0441\u0443\u043c\u043c\u044b \u0442\u0430\u0440\u0438\u0444\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;fare_min&#187; \u0438 &#171;fare_max&#187;.<\/p>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, &#171;survival_rate&#187; \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0442\u0438 \u043f\u043e \u043c\u0435\u0440\u0435 \u0443\u0434\u043e\u0440\u043e\u0436\u0430\u043d\u0438\u044f \u0431\u0438\u043b\u0435\u0442\u043e\u0432.\u00a0\u0412 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f &#171;fare_mean&#187; \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0435\u0437\u043a\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0441 5-\u0433\u043e \u043d\u0430 6. \u0421\u0430\u043c\u0430\u044f \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0446\u0435\u043d\u0430 &#171;fare_max&#187; \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 512,3292 \u0444\u0443\u043d\u0442\u0430 \u0441\u0442\u0435\u0440\u043b\u0438\u043d\u0433\u043e\u0432, \u0430 \u0441\u0430\u043c\u0430\u044f \u043d\u0438\u0437\u043a\u0430\u044f &#171;fare_min&#187;- 0 \u0444\u0443\u043d\u0442\u0430.\u00a0\u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0433\u0440\u0443\u043f\u043f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0436\u0435\u043d\u0449\u0438\u043d \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435, \u0447\u0435\u043c \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043c\u0443\u0436\u0447\u0438\u043d..<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ace\/8d9\/8ac\/ace8d98ac10891800d1f8d04c6f69c36.png\" width=\"978\" height=\"188\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ace\/8d9\/8ac\/ace8d98ac10891800d1f8d04c6f69c36.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select fare_grouping,     count(*) as passenger_cnt,     count(case when sex = 'female' then passengerid else null end) as female_passenger_cnt,     count(case when sex = 'male' then passengerid else null end) as male_passenger_cnt,     min(fare) as fare_min,     max(fare) as fare_max,     round(avg(fare),2) as fare_mean,     round(avg(survived),4) as survival_rate,     round(avg(case when sex = 'female' then survived else null end),4) as female_survival_rate,     round(avg(case when sex = 'male' then survived else null end),4) as male_survival_rate, from     (      select         passengerid,             pclass,             sex,             fare,             survived,             ntile(6) over (order by fare) as fare_grouping          from `kaggle-titanic-sql.741852.titanic_train`       ) f group by 1 order by 1;<\/code><\/pre>\n<p>\u0421\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0430\u043c \u0431\u0438\u043b\u0435\u0442\u0430 &#8212; &#171;Ticket&#187;, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0431\u0438\u043b\u0435\u0442\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435 \u0442\u0430\u0440\u0438\u0444 \u043d\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u0430 \u0442\u0430\u0440\u0438\u0444 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u0431\u0438\u043b\u0435\u0442.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a32\/b9a\/6b4\/a32b9a6b49ae6cd1594bf60339c1afe4.png\" width=\"200\" height=\"373\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a32\/b9a\/6b4\/a32b9a6b49ae6cd1594bf60339c1afe4.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0431\u0438\u043b\u0435\u0442\u0435 &#171;19950&#187; \u0438\u043c\u0435\u0435\u0442\u0441\u044f 4 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u0432\u0441\u0435 \u043e\u043d\u0438 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u043c\u044c\u0438 &#171;Fortune&#187; \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438\u0441\u044c \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043a\u0430\u044e\u0442\u0435. \u0422\u0430\u043a \u0436\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0431\u0438\u043b\u0435\u0442\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u044b \u0441 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0435\u043c\u0435\u0439 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438\u0441\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0430\u044e\u0442\u0430\u0445 (\u0437\u0434\u0435\u0441\u044c \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u044d\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/baa\/e34\/78f\/baae3478f40f521ebb759677d0d2f972.png\" width=\"644\" height=\"147\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/baa\/e34\/78f\/baae3478f40f521ebb759677d0d2f972.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select ticket,     count(*) as count_num from `kaggle-titanic-sql.741852.titanic_train` group by ticket having count_num >= 3 order by count_num desc;  select ticket,     pclass,     name,     sex,     survived,     age,     cabin,     embarked from `kaggle-titanic-sql.741852.titanic_train` where ticket = '19950'<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a\u043e\u0432\u0430 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u0437\u0434\u043d\u043e\u0433\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u044e\u0442. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c \u043e\u0431\u0449\u0443\u044e \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0431\u0438\u043b\u0435\u0442\u0430 \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043b\u0435\u0442\u0430 \u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0430\u043c \u043a\u0430\u044e\u0442 &#8212; &#171;Pclass&#187;. <\/p>\n<p>\u0412 \u0441\u0440\u0435\u0434\u043d\u0435\u043c, \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u0437\u0434\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u043d\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 42 \u0444\u0443\u043d\u0442\u0430 \u0441\u0442\u0435\u0440\u043b\u0438\u043d\u0433\u043e\u0432, \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 &#8212; 14 \u0444\u0443\u043d\u0442\u0430 \u0441\u0442\u0435\u0440\u043b\u0438\u043d\u0433\u043e\u0432, \u0430 \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0435 &#8212; 8. \u0422\u0430\u043a \u0436\u0435, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430 \u0437\u0430 \u043f\u0440\u043e\u0435\u0437\u0434 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043a\u043b\u0430\u0441\u0441\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 0 \u0444\u0443\u043d\u0442\u043e\u0432 (\u044f \u043d\u0435 \u0437\u043d\u0430\u044e \u0441 \u0447\u0435\u043c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u043e, \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u043e\u0434\u0443 \u044f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b). \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043d\u0430 \u0437\u0430 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 222, 33, 23 \u0444\u0443\u043d\u0442\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;avg_per_passenger&#187; \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c &#171;Pclass&#187;, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043c\u044b \u0437\u0430\u0445\u043e\u0442\u0438\u043c \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/780\/77b\/633\/78077b63334c0481c933facd4ee1d444.png\" width=\"439\" height=\"112\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/780\/77b\/633\/78077b63334c0481c933facd4ee1d444.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select f.pclass,     round(avg(f.fare_per_passeng), 4) as avg_per_passeng,     min(f.fare_per_passeng) as min_per_passeng,     max(f.fare_per_passeng) as max_per_passeng from     (      select       pclass,         ticket,         count(*) as count_passeng,         round(max(fare)\/count(passengerid)) as fare_per_passeng      from `kaggle-titanic-sql.741852.titanic_train`      group by pclass, ticket      )f group by pclass order by pclass<\/code><\/pre>\n<h2>\u0421\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/h2>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u043c\u044b \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u043b\u0438, \u043a\u0430\u043a \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432. \u0421\u043e\u0431\u0435\u0440\u0435\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438, \u0433\u0434\u0435 \u043e\u0431\u043e\u0431\u0449\u0438\u043c \u043d\u0430\u0448\u0438 \u0432\u044b\u0432\u043e\u0434\u044b.<\/p>\n<h2>1. \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438<\/h2>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0443\u044e \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u044b\u043a\u043b\u0430\u0434\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. \u0422\u0430\u043a \u043a\u0430\u043a \u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u043d\u0435\u0442 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#8212; &#171;Survived&#187;, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 &#171;null&#187;, \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a &#171;dataset&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0444\u043b\u0430\u0433\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0441\u043c\u043e\u0433\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0448\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3eb\/4af\/e19\/3eb4afe19489baea14ac7687a377afbd.png\" width=\"1088\" height=\"249\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3eb\/4af\/e19\/3eb4afe19489baea14ac7687a377afbd.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">drop table if exists `kaggle-titanic-sql.741852.titanic_train_test`;   create table if not exists `kaggle-titanic-sql.741852.titanic_train_test` as (  select  'train' as dataset,  t1.*  from `kaggle-titanic-sql.741852.titanic_train` t1  union all  select      'test' as dataset,      t2.passengerid, null as passengerid, t2.pclass,      t2.name, t2.sex, t2.age, t2.sibsp,      t2.parch, t2.ticket, t2.fare,      t2.cabin, t2.embarked from `kaggle-titanic-sql.741852.titanic_test` t2 )<\/code><\/pre>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u0445 &#171;Embarked&#187;, &#171;Cabin&#187;, &#171;Age&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u043b\u0438\u0441\u044c \u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438, \u0432 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0435\u0449\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 0,1% \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0435 &#171;Fare&#187; (\u0443\u0447\u0442\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438). \u0412 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0435 &#171;Survived&#187; \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c 31,9%, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4ca\/88e\/241\/4ca88e241d67612431e279ea9564c792.png\" width=\"584\" height=\"57\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4ca\/88e\/241\/4ca88e241d67612431e279ea9564c792.png\"\/><figcaption><\/figcaption><\/figure>\n<h2>2. one_family \/ mix_group \/ alone<\/h2>\n<p>\u042f \u0431\u0443\u0434\u0443 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u044b \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0431\u0438\u043b\u0435\u0442 &#8212; \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435. \u0422\u0430\u043a \u0436\u0435 \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0432 \u0431\u0438\u043b\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440 &#8212; \u043e\u043d \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0434\u0438\u043d, \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044f \u0432\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u0435 \u0447\u043b\u0435\u043d\u044b \u0441\u0435\u043c\u044c\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u0431\u0438\u043b\u0435\u0442\u0430\u043c.<\/p>\n<p>\u042d\u0442\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u0430, \u043d\u043e \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a \u043e\u043d\u043e \u0438 \u0435\u0441\u0442\u044c. \u0426\u0435\u043b\u044c \u044d\u0442\u0438\u0445 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 &#8212; \u043e\u0431\u043e\u0431\u0449\u0438\u0442\u044c \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u0440\u0430\u0431\u043b\u044f.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b59\/f60\/f80\/b59f60f802c31030e26b9cb76eb05901.png\" width=\"324\" height=\"119\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b59\/f60\/f80\/b59f60f802c31030e26b9cb76eb05901.png\"\/><figcaption><\/figcaption><\/figure>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u0438\u043b\u0435\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 &#8212; \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u044d\u0442\u043e \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u043c\u044c\u0435\u0439. \u0415\u0441\u043b\u0438 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440 \u0431\u044b\u043b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0447\u043b\u0435\u043d\u043e\u0432 \u0441\u0435\u043c\u044c\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043b\u0435\u0442\u0430, \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a 1 &#8212; \u0438\u0441\u0442\u0438\u043d\u0430 \u0438 0 &#8212; \u0435\u0441\u043b\u0438 \u043b\u043e\u0436\u044c, \u043f\u0440\u0438\u0437\u043d\u0430\u043a &#171;one_family&#187;.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u0438\u043b\u0435\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0439 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 &#171;mix_family&#187;. \u0412\u0441\u0435\u0433\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f 67 \u0431\u0438\u043b\u0435\u0442\u043e\u0432 \u0441 \u0434\u0432\u0443\u043c\u044f \u0438 \u0431\u043e\u043b\u0435\u0435 \u0444\u0430\u043c\u0438\u043b\u0438\u044f\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u0438\u043b\u0435\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0438 \u043e\u0434\u0438\u043d \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440, \u044d\u0442\u043e \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440, \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443 &#171;alone&#187;. \u041f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0431\u0438\u043b\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432, \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443 &#8212; 713 \u0431\u0438\u043b\u0435\u0442\u0430.<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"sql\">select case when f.surname_count=1 and f.count_passeng=1 then 1 else 0 end as alone,     case when f.surname_count=1 and f.count_passeng>1 then 1 else 0 end as one_family,     case when f.surname_count>1 and f.count_passeng>1 then 1 else 0 end as mix_family,     count(*) as count_ticket from     (      select      ticket,         count(distinct (split(name, ',')[offset(0)])) as surname_count,         count(*) as count_passeng      from `kaggle-titanic-sql.741852.titanic_train_test`      group by ticket      ) f group by alone, one_family, mix_family<\/code><\/pre>\n<p>\u0421\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c &#171;one_family&#187;, &#171;mix_family&#187;, &#171;alone&#187; \u0438 \u043f\u043e\u043b\u0443 &#8212; &#171;Sex&#187;, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u044b \u043c\u0443\u0436\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u043b\u0430, \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443, \u0438\u043c\u0435\u043b\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u0448\u0430\u043d\u0441\u044b \u043d\u0430 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435. \u0423 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043c\u0443\u0436\u0447\u0438\u043d, \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0435\u043c\u044c\u044f\u043c\u0438 \u0431\u044b\u043b \u0441\u0430\u043c\u044b\u0439 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u043d\u0430\u043b\u0438\u0447\u0438\u0435\u043c \u0434\u0435\u0442\u0435\u0439-\u043c\u0430\u043b\u044c\u0447\u0438\u043a\u043e\u0432 \u0432 \u044d\u0442\u0438\u0445 \u0441\u0435\u043c\u044c\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0432\u044b\u0448\u0430\u044e\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438. \u0423 \u0436\u0435\u043d\u0449\u0438\u043d, \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0435\u043c\u044c\u044f\u043c\u0438 \u0431\u044b\u043b \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f, \u0441\u0440\u0435\u0434\u0438 \u0436\u0435\u043d\u0449\u0438\u043d \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u0440\u0443\u043f\u043f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0435\u043c\u0435\u0439 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u0438 \u0434\u0435\u0432\u0443\u0448\u043a\u0438, \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438\u0441\u044c \u0432 \u043a\u0430\u044e\u0442\u0430\u0445 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (\u043a\u0430\u043a \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0438\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0436\u0435\u043d\u0449\u0438\u043d \u0432 \u043a\u0430\u044e\u0442\u0430\u0445 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0440\u0442\u044f\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0443 \u0436\u0435\u043d\u0449\u0438\u043d).<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/873\/ad2\/ed5\/873ad2ed5144a166860efdda974420d0.png\" width=\"427\" height=\"214\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/873\/ad2\/ed5\/873ad2ed5144a166860efdda974420d0.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select f1.sex,   f2.one_family,   f2.mix_group,   f2.alone,   round(avg(f1.survived),4) as survival_rate from `kaggle-titanic-sql.741852.titanic_train` f1 join ( select   ticket,   case when num_surnames = 1 and num_passengers > 1 then 1 else 0 end as one_family,   case when num_surnames > 1 and num_passengers > 1 then 1 else 0 end as mix_group,   case when num_surnames = 1 and num_passengers = 1 then 1 else 0 end as alone from ( select   ticket,   count(passengerid) as num_passengers,    count(distinct split(name, ', ')[offset(0)]) as num_surnames from `kaggle-titanic-sql.741852.titanic_train_test` where dataset='train' group by 1  ) t1 ) f2 on f1.ticket = f2.ticket group by 1,2,3,4 order by 1,5 desc;<\/code><\/pre>\n<h2>3. family_size<\/h2>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043e\u0431\u0449\u0438\u0442\u044c \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u0440\u0430\u0431\u043b\u044f &#8212; \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432 \u0441\u0435\u043c\u044c\u044f\u0445.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0435\u043c\u044c\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u043b\u043e\u0433\u0438\u0447\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0438\u0445 \u043a\u0430\u043a [&#171;SibSp&#187; + &#171;ParCh&#187; \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 (+1)] (&#171;SibSP&#187; &#8212; \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0440\u0430\u0442\u044c\u0435\u0432 \u0438 \u0441\u0435\u0441\u0442\u0435\u0440 \/ \u0441\u0443\u043f\u0440\u0443\u0433\u043e\u0432 \u043d\u0430 \u0431\u043e\u0440\u0442\u0443 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;, &#171;ParCh&#187; &#8212; \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \/ \u0434\u0435\u0442\u0435\u0439 \u043d\u0430 \u0431\u043e\u0440\u0442\u0443 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;) .\u041e\u0434\u043d\u0430\u043a\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u044d\u0442\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u043c\u044b \u0443\u0436\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0441\u0435\u043c\u044c\u0438, \u043a\u0430\u043a \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0431\u0438\u043b\u0435\u0442\u0443.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0441\u0443\u043c\u043c\u0430 &#171;SibSp&#187;, &#171;ParCh&#187; \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 (+1), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0435\u043c\u044c\u0438, \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u0435\u0439 \u0431\u0438\u043b\u0435\u0442\u0430.\u00a0\u041d\u0430\u043f\u0438\u0448\u0435\u043c SQL \u0437\u0430\u043f\u0440\u043e\u0441, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c, \u0435\u0441\u043b\u0438 \u0431\u044b \u0443 \u0432\u0430\u0441 \u0431\u044b\u043b \u0442\u043e\u0442 \u0436\u0435 \u043d\u043e\u043c\u0435\u0440 \u0431\u0438\u043b\u0435\u0442\u0430 \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u044f, \u0442\u043e\u0433\u0434\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0435\u043c\u044c\u0438 (&#171;SibSp&#187; + &#171;ParCh&#187; + 1) \u0431\u044b\u043b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0441 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u043c.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u0440\u0435\u0434\u043d\u044e\u044e \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0441\u0435\u043c\u044c\u0438 &#8212; &#171;family_size&#187; \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u044e\u0442 &#8212; &#171;Pclass&#187;. \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432\u0441\u0451 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e, \u043d\u0435 \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438, \u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0441\u0435\u043c\u044c\u0438 &#8212; &#171;family_size&#187;, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0431\u0443\u0434\u0435\u0442 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043c\u044b \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043b\u0443\u0447\u0448\u0435: \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c &#171;family_size&#187; \u0438\u043b\u0438 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/132\/f71\/62b\/132f7162bb98befbf4a344bff42110d4.png\" width=\"451\" height=\"465\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/132\/f71\/62b\/132f7162bb98befbf4a344bff42110d4.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select f.pclass,     f.family_size,     round(100 * sum(f.survived_rate_by_familysize)\/count(f.survived_rate_by_familysize), 2) as survived_rate_by_familysize,     count(f.ticket) as unique_ticket from      (      select      ticket,         pclass,         split(name, ',')[offset(0)] as family_name,         count(sibsp+parch+1) as family_size,         round(sum(survived)\/count(survived), 2) as survived_rate_by_familysize         from `kaggle-titanic-sql.741852.titanic_train`         group by 1,2,3         order by ticket       ) f group by 1, 2 order by 1, 2 desc<\/code><\/pre>\n<h2>4. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430<\/h2>\n<p>\u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u0441\u0435\u0445 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u043e\u0432.\u00a0\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0438 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p><strong>\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 \u043f\u043e\u043b\u0430 &#8212; &#171;Sex&#187;: female=1,  male=0.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Cabin&#187;.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Embarked&#187;: S=0, C=1, Q=2.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432: &#171;one_family&#187;, &#171;mix_family&#187; \u0438 &#171;alone&#187;.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;avg_fare_per_passenger&#187; \u043f\u0443\u0442\u0435\u043c \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u0440\u0438\u0444\u0430 \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u0438\u043b\u0435\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;title_name&#187;, \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439: Mr=0, Mrs=1, Miss=2, Master=3.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;family_size&#187; \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u043e\u043c\u0435\u0440\u0430 \u0431\u0438\u043b\u0435\u0442\u0430 \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/50d\/b43\/b4b\/50db43b4bb045b9c2d6f252d6e7f981d.png\" width=\"1209\" height=\"274\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/50d\/b43\/b4b\/50db43b4bb045b9c2d6f252d6e7f981d.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">drop table if exists `kaggle-titanic-sql.741852.titanic_train_test_v1`;               create table if not exists `kaggle-titanic-sql.741852.titanic_train_test_v1` as ( select   f1.passengerid,     f1.dataset,         f1.survived,         f1.pclass,         f1.age,         case when f1.sex=\"female\" then 1 else 0 end as sex,         f1.fare,         f1.ticket,         f1.sibsp,         f1.parch,      case         when f1.embarked is not null and f1.embarked = \"S\" then 0         when f1.embarked is not null and f1.embarked = \"C\" then 1         when f1.embarked is not null and f1.embarked = \"Q\" then 2      end as embarked,      case      when split(split(name, ', ')[offset(1)], '.')[offset(0)] in    ('Mr','Dr','Rev','Col','Major','Jonkheer','Sir','Don','Capt')         and sex = 'male' then 0         when split(split(name, ', ')[offset(1)], '.')[offset(0)] in   ('Mlle', 'Ms', 'Miss')         and sex = 'female' then 2         when split(split(name, ', ')[offset(1)], '.')[offset(0)] in   ('Dr', 'the Countess','Mme','Lady','Dona', 'Mrs')             and sex = 'female' then 1   when split(split(name, ', ')[offset(1)], '.')[offset(0)] = 'Master'                 and sex = 'male' then 3          else 3      end as title_name,      f2.alone,      f2.one_family,      f2.mix_family,      f3.family_size                  f4.avg_fare_per_passenger   from `kaggle-titanic-sql.741852.titanic_train_test` f1        join     (          select             ticket,                 case when t1.surname_count=1 and t1.count_passeng=1 then 1 else 0 end as alone,                 case when t1.surname_count=1 and t1.count_passeng>1 then 1 else 0 end as one_family,                 case when t1.surname_count>1 and t1.count_passeng>1 then 1 else 0 end as mix_family,             from             (                  select                     ticket,                         count(distinct (split(name, ',')[offset(0)])) as surname_count,                         count(*) as count_passeng                     from `kaggle-titanic-sql.741852.titanic_train_test`                     group by ticket                  ) t1                             ) f2      on f1.ticket=f2.ticket                    join      (          select             ticket,                 count(sibsp+parch+1) as family_size,             from `kaggle-titanic-sql.741852.titanic_train_test`             group by 1          ) f3       on f1.ticket=f3.ticket          join       (           select               pclass,                   round(avg(fare_per_passenger)) as avg_fare_per_passenger               from                (                   select                       pclass,                           ticket,                           round(max(fare) \/ count(passengerid), 2) as fare_per_passenger                       from `kaggle-titanic-sql.741852.titanic_train_test`                       group by 1, 2)               group by 1            ) f4       on f4.pclass=f1.pclass )<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 SQL \u043b\u0443\u0447\u0448\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u0431\u043b\u0438\u0446 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 SQL \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p><strong>\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Embarked&#187;.  \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043e\u0431\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0435, \u0441\u0435\u043b\u0438 \u043d\u0430 \u0441\u0443\u0434\u043d\u043e \u0432 \u0421\u0430\u0443\u0442\u0433\u0435\u043c\u043f\u0442\u043e\u043d\u0435 (S) &#8212; \u0410\u043d\u0433\u043b\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Fare&#187;. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u044b\u043b\u043e \u0432\u044b\u044f\u0441\u043d\u0435\u043d\u043e, \u0447\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0442\u0430\u0440\u0438\u0444 \u043d\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0431\u044b\u043b \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043a\u043b\u0430\u0441\u0441\u0443 \u043a\u0430\u044e\u0442 &#8212; &#171;Pclass&#187;.\u00a0\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0446\u0435\u043d\u043e\u0439 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u0430\u044e\u0442\u044b<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;avg_fare_per_passenger&#187; \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Age&#187;. \u0421\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e &#171;Pclass&#187;, &#171;Sex&#187; \u0438 &#171;title_name&#187;, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b.\u00a0\u0417\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0430 \u043d\u0435 \u043c\u0435\u0434\u0438\u0430\u043d\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u0431\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u0447\u0438\u0441\u0435\u043b \u043f\u043e\u0445\u043e\u0436\u0438, \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0438\u043c \u0432 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0434\u043e \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;age_grouping&#187;. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Age&#187;, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c &#171;age_grouping&#187;, \u0442.\u043a. \u043e\u043d \u0434\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f, c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c: &#171;10&lt;age&#187;=0, &#171;10&lt;=age&lt;20&#8243;=1, &#171;20&lt;=age&lt;30&#8243;=2, &#171;30&lt;=age&lt;40&#8243;=3, &#171;40&lt;=age&lt;50&#8243;=4, &#171;55&lt;=age&#187;=5,<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"sql\">drop table if exists `kaggle-titanic-sql.741852.titanic_train_test_v2`;               create table if not exists `kaggle-titanic-sql.741852.titanic_train_test_v2` as ( select     f1.passengerid,         f1.dataset,         f1.survived,         f1.pclass,         f1.sex,         f1.sibsp,         f1.parch,         case when f1.embarked is null then 0 else f1.embarked end as embarked,         f1.title_name,         f1.alone,         f1.one_family,         f1.mix_family,         f1.family_size,   coalesce(f1.fare, f3.fare_mean) as fare,   f2.age,         case         when f2.age &lt; 10 then 0             when f2.age >=10 and f2.age &lt; 20 then 1             when f2.age >= 20 and f2.age &lt; 30 then 2             when f2.age >=30 and f2.age &lt; 40 then 3             when f2.age >=40 and f2.age &lt; 55 then 4             when f2.age >=55 then 5         end as age_grouping,         case             when f1.avg_fare_per_passenger is null and f1.pclass = 1 then 32             when f1.avg_fare_per_passenger is null and f1.pclass = 2 then 12             when f1.avg_fare_per_passenger is null and f1.pclass = 3 then 8             else f1.avg_fare_per_passenger         end as avg_fare_per_passenger                       from `kaggle-titanic-sql.741852.titanic_train_test_v1` f1                          join       (            select               passengerid,                   coalesce(f1.age, f2.avg_age) as age               from `kaggle-titanic-sql.741852.titanic_train_test_v1` f1                                          join               (                    select                       sex,                           pclass,                           title_name,                           round(avg(age), 0) as avg_age                       from `kaggle-titanic-sql.741852.titanic_train_test_v1` t1                       group by sex, pclass, title_name                     ) f2                on f1.sex=f2.sex                   and f1.pclass=f2.pclass                   and f1.title_name=f2.title_name             ) f2                                   on f1.passengerid=f2.passengerid       join        (            select               pclass,                   round(avg(fare_per_passenger),2) as fare_mean               from               (                    select                       pclass,                           ticket,                           round(max(fare) \/ count(passengerid), 4) as fare_per_passenger                       from `kaggle-titanic-sql.741852.titanic_train_test_v1`                       group by 1,2                    ) t1                group by 1             ) f3         on f1.pclass = f3.pclass )<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043e\u0431\u044c\u0435\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442 &#171;kaggle-titanic-sql.741852.titanic_train_test_v2&#187; \u043d\u0430 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0443\u044e \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>\u041e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445: &#171;kaggle-titanic-sql.741852.titanic_train_v0&#187;<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c25\/ad1\/60b\/c25ad160b4755944919ceb4a83d8a67f.png\" width=\"1175\" height=\"187\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c25\/ad1\/60b\/c25ad160b4755944919ceb4a83d8a67f.png\"\/><figcaption><\/figcaption><\/figure>\n<ul>\n<li>\n<p>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445: &#171;kaggle-titanic-sql.741852.titanic_test_v0&#187;<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/612\/232\/8e1\/6122328e11bf47d51997e4a029673980.png\" width=\"1117\" height=\"186\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/612\/232\/8e1\/6122328e11bf47d51997e4a029673980.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">drop table if exists `kaggle-titanic-sql.741852.titanic_train_v0`;   create table if not exists `kaggle-titanic-sql.741852.titanic_train_v0` as  ( select     f1.survived,         f1.pclass,         f1.sex,         f1.sibsp,         f1.parch,         f1.embarked,   f1.age,         f1.fare,         f1.title_name,         f1.alone,         f1.one_family,         f1.mix_family,         f1.family_size,         f1.age_grouping,         f1.avg_fare_per_passenger                           from `kaggle-titanic-sql.741852.titanic_train_test_v2` f1     where dataset = 'train' );   drop table if exists `kaggle-titanic-sql.741852.titanic_test_v0`;   create table if not exists `kaggle-titanic-sql.741852.titanic_test_v0` as  (     select         f1.pclass,         f1.sex,         f1.sibsp,         f1.parch,         f1.embarked,         f1.title_name,         f1.alone,         f1.one_family,         f1.mix_family,         f1.family_size,         f1.age_grouping,         f1.avg_fare_per_passenger                           from `kaggle-titanic-sql.741852.titanic_train_test_v2` f1     where dataset = 'test' )<\/code><\/pre>\n<h2>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/h2>\n<p>\u0421\u043e\u0431\u0440\u0430\u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u044b, \u0433\u0434\u0435 \u043c\u044b \u043e\u0431\u043e\u0431\u0449\u0438\u043b\u0438 \u043d\u0430\u0448\u0438 \u0432\u044b\u0432\u043e\u0434\u044b, \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0438\u0445 \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0433\u0434\u0435 \u043c\u044b \u043e\u0442\u0431\u0435\u0440\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 Kaggle.<\/p>\n<h2>1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 train \u0438 test datasets<\/h2>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Pandas, \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u00a0\u0444\u0430\u0439\u043b\u044b CSV \u043a\u0430\u043a \u0444\u0440\u0435\u0439\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0445.\u00a0\u041f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 pandas \u0441 BigQuery \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 &#171;pandas-gbq&#187; (pip install pandas-gbq). \u041f\u0440\u0438\u0437\u043d\u0430\u043a &#171;passengerid&#187; \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438 dataframe.<\/p>\n<p>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430\u0447\u043d\u0435\u043c \u0441 14 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435 (X_train.info()), \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#8212; &#171;survived&#187;.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3e5\/49b\/758\/3e549b7580ffa920af497d67ed49d53a.png\" width=\"429\" height=\"358\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3e5\/49b\/758\/3e549b7580ffa920af497d67ed49d53a.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">### SQL-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443 query_train = \"\"\"                         select                                 *                            from `kaggle-titanic-sql.741852.titanic_train_v0`                 \"\"\" ### SQL-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443   query_test = \"\"\"                         select                                 *                         from `kaggle-titanic-sql.741852.titanic_test_v0`              \"\"\"<\/code><\/pre>\n<pre><code class=\"python\">from google.cloud import bigquery import pandas as pd  ### \u0414\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u044b \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043e\u043a train_data = pd.read_gbq(query_train, project_id='kaggle-titanic-sql', index_col=\"passengerid\") test_data = pd.read_gbq(query_test, project_id='kaggle-titanic-sql', index_col=\"passengerid\")  ### \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0442\u0434\u0435\u043b\u0438\u043c \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a y_train = train_data['survived'].copy() X_train = train_data.drop([\"survived\"], axis=1).copy() X_test = test_data.copy()<\/code><\/pre>\n<h2>2. \u041c\u0430\u0442\u0440\u0438\u0446\u0430 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438<\/h2>\n<p>\u0412 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0438, \u0435\u0441\u043b\u0438 \u0434\u0432\u0435 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 (\u0432\u044b\u0441\u043e\u043a\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b), \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0443\u0445\u0443\u0434\u0448\u0438\u0442\u044c\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043f\u043e\u043f\u0430\u0440\u043d\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e corr()<a href=\"https:\/\/pandas.pydata.org\/pandas-docs\/stable\/reference\/api\/pandas.DataFrame.corr.html\" rel=\"noopener noreferrer nofollow\"><u>,<\/u><\/a>\u00a0\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u0432 Pandas \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u0435\u043f\u043b\u043e\u0432\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Seaborn.\u00a0\u0424\u0443\u043d\u043a\u0446\u0438\u044f corr() \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 <em>\u041f\u0438\u0440\u0441\u043e\u043d\u0430<\/em>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/547\/c18\/d29\/547c18d297bfcfe9eb83b4aa7b48b123.png\" width=\"672\" height=\"569\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/547\/c18\/d29\/547c18d297bfcfe9eb83b4aa7b48b123.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0440\u043e\u0433\u0430 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u041f\u0438\u0440\u0441\u043e\u043d\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 0,8 \u0434\u043e 1,0 (\u044d\u0442\u043e\u0442 \u043f\u043e\u0440\u043e\u0433 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u0435\u043d). \u041a\u0430\u043a \u043c\u044b \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438, \u043f\u0430\u0440\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 &#171;pclass&#187; \u0438 &#171;avg_fare_per_passenger&#187; \u0441\u0438\u043b\u044c\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u0442\u0430\u043a \u0436\u0435 \u043a\u0430\u043a &#171;age&#187; \u0438 &#171;age_grouping&#187;. <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d0e\/184\/332\/d0e1843321266f4e79238f45812b0129.png\" alt=\"corr_df\" title=\"corr_df\" width=\"276\" height=\"78\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d0e\/184\/332\/d0e1843321266f4e79238f45812b0129.png\"\/><figcaption>corr_df<\/figcaption><\/figure>\n<pre><code class=\"python\">import seaborn as sns import matplotlib.pyplot as plt import numpy as np  ### \u041c\u0430\u0442\u0440\u0438\u0446\u0430 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0439 plt.figure(figsize=[10,8]) sns.heatmap(X_train.corr(), annot=True, mask=np.triu(X_train.corr()))  def corr_treshold(data, treshold):     \"\"\"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432     \u0441 \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u043c \u043f\u043e\u0440\u043e\u0433\u043e\u043c \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 - treshold\"\"\"          corr_data = data.corr().abs().unstack()     corr_data = corr_data[corr_data >= treshold]     corr_data = corr_data[corr_data &lt; 1]          corr_df = pd.DataFrame(corr_data).reset_index()     corr_df.columns = ['feature1', 'feature2', 'corr']     corr_df = corr_df.drop_duplicates('corr')          return corr_df<\/code><\/pre>\n<p>\u0412\u044b\u044f\u0432\u0438\u0432 \u043f\u0430\u0440\u044b \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u044c\u044e \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438, \u043b\u043e\u0433\u0438\u0447\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043f\u0430\u0440, \u043d\u043e \u043c\u044b \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u043c\u0438 \u0440\u0435\u0448\u0430\u0442, \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0434\u043b\u044f \u043d\u0438\u0445 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b (\u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u043f\u043e\u0437\u0436\u0435).<\/p>\n<h2>3. \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. Baseline<\/h2>\n<p>\u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 5 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 &#171;sklearn&#187;: \u043c\u0435\u0442\u043e\u0434 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0445 \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u043c\u0435\u0442\u043e\u0434 \u043e\u043f\u043e\u0440\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0434\u0435\u0440\u0435\u0432\u043e, \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043b\u0435\u0441 \u0438 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e. \u041c\u0435\u0442\u0440\u0438\u043a\u043e\u0439 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u0430 Kaggle, \u043d\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c &#171;accuracy&#187; &#8212; \u0434\u043e\u043b\u044e \u0432\u0435\u0440\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432. \u041e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u043c \u043d\u0430 10-\u0442\u0438 \u043a\u0440\u0430\u0442\u043d\u043e\u0439 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438. \u0422\u0430\u043a \u0436\u0435, \u043f\u0435\u0440\u0435\u0434 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0430 &#171;StandarScaler&#187;, \u0442.\u043a. \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0441 \u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u043e\u0439 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f &#171;\u043e\u0448\u0442\u0440\u0430\u0444\u043e\u0432\u0430\u043d\u044b&#187; \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c\u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u043e\u0439, \u0438 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u0421\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u0444\u043e\u043d\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u043d\u0435 \u0432\u0438\u0434\u043d\u0435\u0435\u0442\u0441\u044f, \u043d\u043e \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0434\u0435\u0440\u0435\u0432\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 &#8212; 63%, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u043e\u0446\u0435\u043d\u043a\u0443 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 70%. \u0422\u0430\u043a \u0436\u0435, \u0443 \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0433\u043e \u0434\u0435\u0440\u0435\u0432\u043e, \u0441\u0440\u0435\u0434\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0441\u0430\u043c\u043e\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438, \u0430\u00a0\u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u0431\u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c8c\/408\/676\/c8c408676f22ecbcd2cbab737d1e29f6.png\" width=\"261\" height=\"165\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c8c\/408\/676\/c8c408676f22ecbcd2cbab737d1e29f6.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">from sklearn.linear_model import LinearRegression from sklearn.neighbors import KNeighborsClassifier from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.linear_model import LogisticRegression from sklearn.svm import SVC  from sklearn.model_selection import GridSearchCV from sklearn.model_selection import cross_val_score from sklearn.preprocessing import StandardScaler  ### \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 StandardScaler sc = StandardScaler()  ### \u041e\u0431\u0443\u0447\u0438\u043c StandardScaler \u043d\u0430 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0438\u0445 \u043a pandas DataFrame ### \u0422\u0440\u0430\u043d\u0441\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0438\u0445 \u043a pandas DataFrame X_train = pd.DataFrame(sc.fit_transform(X_train),\\                        columns=train_data.drop([\"survived\"], axis=1).columns,\\                        index=train_data.index) X_test = pd.DataFrame(sc.transform(X_test), columns=test_data.columns,\\                       index=test_data.index)  ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0413\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u0442\u043e\u044f\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e models_dict = {                 \"KNN\": KNeighborsClassifier(),                 \"tree\": DecisionTreeClassifier(random_state=42),                   \"RF\": RandomForestClassifier(random_state=42),                 \"Lg\":LogisticRegression(solver='liblinear', random_state=42),                 \"SVC\": SVC(random_state=42)               }   def to_df(data):     \"\"\"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\"\"\"     column = ['mean_score', 'std', 'best_score']     score_df = pd.DataFrame.from_dict(data, columns=column, orient='index')          return score_df    def model_scores(model_dict, X_train, y_train):   \"\"\"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438\"\"\"      ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439     model_scores = {}          ### \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c     for name_model, model in models_dict.items():         score_list = []         score = cross_val_score(model, X_train, y_train, cv=10, scoring='accuracy')                  ### \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(score.mean())         ### \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(score.std())         ### \u041b\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(score.max())                  model_scores[name_model+'_v0'] = score_list      score_df_v0 = to_df(model_scores)     return score_df_v0<\/code><\/pre>\n<h2>4. \u041e\u0442\u0431\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 (Features Selection)<\/h2>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u0448\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u043f\u0443\u0442\u0451\u043c \u043e\u0442\u0431\u043e\u0440\u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u0414\u043b\u044f \u043e\u0442\u0431\u043e\u0440\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u0437 &#171;wrapper methods&#187;, \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 &#171;MLextend&#187;.<\/p>\n<p><strong>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 &#171;wrapper methods&#187;:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0431\u043e\u0440\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>\u0414\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (\u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0446\u0435\u043d\u043a\u0430) \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432. (\u041d\u043e \u044d\u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0435 \u043e\u0431\u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u0435 \u043c\u043e\u0434\u0435\u043b\u0438.)<\/p>\n<\/li>\n<li>\n<p>\u041e\u0447\u0435\u043d\u044c \u0437\u0430\u0442\u0440\u0430\u0442\u043d\u044b \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <strong>\u043f\u0440\u044f\u043c\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c<\/strong> &#8212; &#171;<a href=\"https:\/\/rasbt.github.io\/mlxtend\/user_guide\/feature_selection\/SequentialFeatureSelector\/#sequential-feature-selector\" rel=\"noopener noreferrer nofollow\">Sequential Future Selector<\/a>&#187; (\u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 <code>forward=True<\/code>).<\/p>\n<p>\u0421\u0443\u0442\u044c <strong>\u043f\u0440\u044f\u043c\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 &#171;wrapper methods&#187;:<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0448\u0430\u0433\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 <img decoding=\"async\" class=\"formula inline\" source=\"x_i\" alt=\"x_i\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/661\/c2f\/130\/661c2f130669d45928c7ac6cd36834d3.svg\"\/>\u00a0\u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432<img decoding=\"async\" class=\"formula inline\" source=\"X\" alt=\"X\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/026\/6ab\/8f5\/0266ab8f5f20b34b80d16dbaa11251f6.svg\"\/>\u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430). \u041e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u0437\u043d\u0430\u043a <img decoding=\"async\" class=\"formula inline\" source=\"x^1\" alt=\"x^1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/967\/40a\/ac3\/96740aac36db14dc8535a8cee90760aa.svg\"\/> <\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435 \u043a \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0443 <img decoding=\"async\" class=\"formula inline\" source=\"x^1\" alt=\"x^1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f7c\/ef5\/056\/f7cef50560b285e204f4464a65ccc17f.svg\"\/>\u00a0\u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 <img decoding=\"async\" class=\"formula inline\" source=\"x_j\" alt=\"x_j\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0d6\/eaa\/4c8\/0d6eaa4c88dfc94d537d6266e064718f.svg\"\/>\u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 <img decoding=\"async\" class=\"formula inline\" source=\"X\" alt=\"X\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d7f\/e4b\/761\/d7fe4b76151e92289af3c7f5cdb1e6a8.svg\"\/>, \u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0432\u0443\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432). \u041e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0437 \u0434\u0432\u0443\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f 3, 4, &#8230; \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438: <\/p>\n<p>   <strong>1.<\/strong>  \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b <img decoding=\"async\" class=\"formula inline\" source=\"\u03b5\" alt=\"\u03b5\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5d4\/a92\/348\/5d4a923486589502d40cfed4fe73966a.svg\"\/>.<\/p>\n<p>   <strong>2.<\/strong> \u0412\u044b\u0431\u0440\u0430\u043d<img decoding=\"async\" class=\"formula inline\" source=\"N\" alt=\"N\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6e2\/624\/6ec\/6e26246ec2f3bc7bd5090ece8455c753.svg\"\/>\u00a0\u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<p>\u0423 &#171;MLextend&#187; \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. \u0414\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 &#171;<a href=\"https:\/\/rasbt.github.io\/mlxtend\/user_guide\/feature_selection\/SequentialFeatureSelector\/#sequential-feature-selector\" rel=\"noopener noreferrer nofollow\">Sequential Future Selector<\/a>&#171;, \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c open source \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 &#171;MLextend&#187;.<\/p>\n<p>\u041e\u0431\u0443\u0447\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 &#171;Sequential Future Selector&#187; \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0443 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043b\u0443\u0447\u0448\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u041a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043e\u0442\u043e\u0431\u0440\u0430\u043b\u0430 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u0430\u043a \u043c\u044b \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u043c\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441\u0442\u0430\u043b\u0438 \u043f\u043e\u043b &#8212; &#171;sex&#187; \u0438 \u043a\u043b\u0430\u0441\u0441 \u043a\u0430\u044e\u0442\u044b &#8212; &#171;pclass&#187; \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/299\/75e\/af9\/29975eaf97aea1cd781884f3ca17c35b.png\" width=\"423\" height=\"193\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/299\/75e\/af9\/29975eaf97aea1cd781884f3ca17c35b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043d\u044f\u043b\u043e 2 \u043c\u0438\u043d\u0443\u0442\u044b \u0438 7 \u0441\u0435\u043a\u0443\u043d\u0434. \u041f\u043e\u0441\u043b\u0435 \u043e\u0442\u0431\u043e\u0440\u0430 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043a \u043e\u0446\u0435\u043d\u043a\u0435. \u0422\u0430\u043a \u0436\u0435 \u0441\u0442\u0430\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u0442\u0430\u043b\u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0435\u0435 \u043a \u043d\u043e\u0432\u044b\u043c \u0434\u0430\u043d\u043d\u044b\u043c. \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0434\u0435\u0440\u0435\u0432\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0444\u043e\u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0432 &#171;\u0434\u0440\u0443\u0433\u043e\u043c \u0441\u0432\u0435\u0442\u0435&#187;, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043a \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u043e\u0446\u0435\u043d\u043a\u0435 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c\u0443 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044e. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u043f\u0435\u0440\u0435\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u0438, \u0442.\u043a. \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f \u0441\u043a\u043b\u043e\u043d\u043d\u044b \u043a \u043f\u0435\u0440\u0435\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044e, \u043d\u043e \u044d\u0442\u043e \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c, \u0442.\u043a. \u0446\u0435\u043b\u044c\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u043e\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/41c\/22f\/2e3\/41c22f2e3ae3b1fbe8ce45dbdeb5b37b.png\" width=\"264\" height=\"307\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/41c\/22f\/2e3\/41c22f2e3ae3b1fbe8ce45dbdeb5b37b.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">def future_selector(models_dict, X_train, y_train):     \"\"\"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0431\u043e\u0440\u0430 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439\"\"\"  ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043b\u0443\u0447\u0448\u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432     best_features = {} ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439     model_scores = {}      ### \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435 SFS \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0438     for name_model, model in models_dict.items():          score_list = []  ### \u042d\u043a\u0437\u0435\u043c\u043b\u044f\u0440 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 SFS         sfs = SFS(model,                     k_features=(3, 14),                     forward=True,                     floating=False,                     scoring='accuracy',                    cv=5)          sfs = sfs.fit(X_train, y_train)  ### \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(sfs.subsets_[len(sfs.k_feature_names_)]['cv_scores'].mean()) ### \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(sfs.subsets_[len(sfs.k_feature_names_)]['cv_scores'].std()) ### \u041b\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(sfs.subsets_[len(sfs.k_feature_names_)]['cv_scores'].max())          model_scores[name_model+'_v1'] = score_list          best_features[name_model] = sfs.k_feature_names_                  print('model {}, score (accuracy: {}):'.format(name_model, sfs.k_score_))         print('selected features: {}\\n'.format(sfs.k_feature_names_))           score_df_v1 = to_df(model_scores)      ### \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0446\u0435\u043d\u043e\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043b\u0443\u0447\u0448\u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432     return score_df_v1, best_features<\/code><\/pre>\n<h2>5. GridSearchCV<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u043d\u0430\u0448\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0431\u043e\u0440 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<p>GridSearchCV \u2013 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. GridSearchCV \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043f\u0443\u0442\u0435\u043c \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430: \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u0443\u0447\u0448\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0430 <code>best_params_<\/code><\/p>\n<p>\u041e\u0431\u0443\u0447\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043b\u0443\u0447\u0448\u0443\u044e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<p>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043d\u044f\u043b\u043e 1 \u043c\u0438\u043d\u0443\u0442\u0443. \u0412 \u0446\u0435\u043b\u043e\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043e\u0441\u043e\u0431\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 \u043d\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f. \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u043e\u0445\u0432\u0430\u0442 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043c\u043e\u0436\u0435\u0442 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438.\u00a0\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0430\u0436\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/357\/9e1\/d34\/3579e1d346fe47721ee1f5c94996ffe3.png\" alt=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439\" title=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439\" width=\"360\" height=\"171\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/357\/9e1\/d34\/3579e1d346fe47721ee1f5c94996ffe3.png\"\/><figcaption>\u041b\u0443\u0447\u0448\u0438\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439<\/figcaption><\/figure>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fb8\/f47\/2ae\/fb8f472ae4b0187de2b48aece43a3af0.png\" width=\"263\" height=\"445\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fb8\/f47\/2ae\/fb8f472ae4b0187de2b48aece43a3af0.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">X_train_dict = {} X_test_dict = {} ### \u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0431\u0440\u0430\u043b\u0430 \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c ### \u0418 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 for name_model, model in models_dict.items():     X_train_dict[name_model] = X_train[list(best_features[name_model])]     X_test_dict[name_model] = X_test[list(best_features[name_model])]  ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 params_dict = {                 \"KNN\": {\"n_neighbors\": np.arange(2,10),\\                         \"weights\": [\"uniform\", \"distance\"]},                 \"tree\": {\"max_depth\": np.arange(2,8), \"criterion\": [\"gini\", \"entropy\"],\\                          \"min_samples_split\": np.arange(2,4),\\                          \"min_samples_leaf\": np.arange(1,4)},                 \"RF\": {\"n_estimators\": np.arange(100,200,50), \"max_depth\": np.arange(2,6),\\                        \"min_samples_split\": np.arange(2,7),                       \"min_samples_leaf\": np.arange(2,5)},                 \"Lg\": {\"max_iter\": [100,200], \"C\": [0.01,0.05,0.1,0.2,0.5,1,1.5,2]},                 \"SVC\": {\"C\": [0.001,0.005,0.01,0.05,0.1,0.4,0.8,1],\\                         \"kernel\": [\"linear\", \"poly\", \"rbf\"]}               }  def gridsearchcv(models_dict, params_dict, X_train_dict, y_train):   \"\"\"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432\"\"\"          ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439     best_params_dict = {}     ### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043c\u043e\u0434\u0435\u043b\u0435\u0439     model_scores = {}          ### \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043d\u0430 GridSearchCV \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0438     for name_model, model in models_dict.items():                  score_list = []                  print(name_model+\": beginning\")                  ### \u0418\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438         X_train = X_train_dict[name_model]         ### \u0418\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438         params = params_dict[name_model]                  gscv = GridSearchCV(model, params, cv=5, n_jobs=-1, scoring='accuracy')             gscv.fit(X_train,y_train)                  ### \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(gscv.cv_results_['mean_test_score'].mean())         ### \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(gscv.cv_results_['std_test_score'].mean())         ### \u041b\u0443\u0447\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u043a\u0440\u043e\u0441\u0441-\u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438         score_list.append(gscv.best_score_)                 model_scores[name_model+\"_v2\"] = score_list                  best_params = gscv.best_params_         best_params_dict[name_model] = best_params              score_df_v2 = to_df(model_scores)           ### \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0446\u0435\u043d\u043e\u043a \u043c\u043e\u0434\u0435\u043b\u0435\u0439     ### \u0418 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043b\u0443\u0447\u0448\u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432     return score_df_v2, best_params_dict<\/code><\/pre>\n<h2>6. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 Kaggle<\/h2>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0448\u0430\u0433\u0430 \u043e\u0431\u0443\u0447\u0438\u043c \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u044b \u0440\u0430\u043d\u0435\u0435. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430 Kaggle \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.<\/p>\n<p>\u041b\u0443\u0447\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0435 \u0434\u0435\u0440\u0435\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u043d\u044f\u043b\u043e 2061 \u043c\u0435\u0441\u0442\u043e \u0441\u0440\u0435\u0434\u0438 14553 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043b\u0438\u0434\u0435\u0440\u043e\u0432, c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c 78,468%.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b22\/8cc\/bbe\/b228ccbbed5c010ca2d3cc12c12bd9a0.png\" width=\"121\" height=\"163\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b22\/8cc\/bbe\/b228ccbbed5c010ca2d3cc12c12bd9a0.png\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c88\/78c\/8c6\/c8878c8c61b131588fed935219fbaf69.png\" width=\"770\" height=\"33\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c88\/78c\/8c6\/c8878c8c61b131588fed935219fbaf69.png\"\/><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">### \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u043c\u043e\u0434\u0435\u043b\u0435\u0439, \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0433\u0438\u043f\u0435\u0440\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 models_dict = {                 \"KNN\": KNeighborsClassifier(n_neighbors=6, weights=\"uniform\"),                 \"tree\": DecisionTreeClassifier(criterion=\"gini\", max_depth=7,\\                                                min_samples_leaf=2, min_samples_split=2,\\                                                random_state=42),                   \"RF\": RandomForestClassifier(n_estimators=10, max_depth=5,\\                                                min_samples_leaf=2, min_samples_split=5,\\                                                random_state=42),                 \"Lg\":LogisticRegression(C=1.0, max_iter=100, solver=\"liblinear\",\\                                         random_state=42),                 \"SVC\": SVC(C=0.005, kernel=\"linear\", random_state=42)               }  ### \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043f\u0440\u0435\u0434\u0438\u043a\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0430 Kaggle for name_model, model in models_dict.items():     model.fit(X_train_dict[name_model], y_train)     predicted = model.predict(X_test_dict[name_model])     output = pd.DataFrame({'PassengerId': X_test.index, 'Survived': predicted})     output.to_csv('kaggle_predict_{}.csv'.format(name_model), index=False)<\/code><\/pre>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e SQL.\u00a0\u0411\u044b\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b: GROUP BY, \u043e\u043a\u043e\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 HAVING \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b SQL. \u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SequentialFutureSelector \u0438 GridSearchCV, \u0431\u044b\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d Python.\u00a0\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u044b \u0432 Kaggle \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/590541\/\"> https:\/\/habr.com\/ru\/articles\/590541\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u043e\u044e \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u044b\u0436\u0438\u0432\u0448\u0438\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c SQL \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u0430 \u0442\u0430\u043a \u0436\u0435 Python \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. <\/p>\n<p>\u041f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u044f \u0431\u0443\u0434\u0443 \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 Kaggle. \u0414\u0430\u043d\u043d\u044b\u0435 \u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0443 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 Google BigQuery, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0421\u0423\u0411\u0414. \u041e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c, \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0411\u0414, \u044f \u0431\u0443\u0434\u0443 \u0447\u0435\u0440\u0435\u0437 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b.<\/p>\n<h2>\u0426\u0435\u043b\u044c<\/h2>\n<p>\u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e Python \u0431\u044b\u043b \u0431\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430, \u044f \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0441\u043c\u043e\u0433\u0443 \u043b\u0438 \u044f \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0432\u0435\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SQL. \u041c\u043e\u044f \u0446\u0435\u043b\u044c &#8212; \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c SQL \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u0425\u043e\u0442\u044f SQL \u0438\u043c\u0435\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0441 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u044b\u0433\u043e\u0434\u044b, \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u0432\u0435\u0434\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.<\/p>\n<h2>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>Kaggle \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0432\u0443\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 csv:<\/p>\n<ul>\n<li>\n<p>train.csv (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 10 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0439 &#8212; \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435)<\/p>\n<\/li>\n<li>\n<p>test.csv (\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 10 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432)<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0411\u0414 GBQ \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0445.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"python\">from google.cloud import bigquery  # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ID \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u0437 Google Cloud Platform PROJECT_ID = 'kaggle-titanic-sql' client = bigquery.Client(project=PROJECT_ID, location=\"US\") dataset = client.create_dataset('741852', exists_ok=True)  # \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 table = client.get_table(\"kaggle-titanic-sql.741852.titanic_train\")  # \u041f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 client.list_rows(table, max_results=5, start_index=1).to_dataframe()<\/code><\/pre>\n<p><strong>\u0412\u0410\u0416\u041d\u041e: <\/strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c SQL-\u0437\u0430\u043f\u0440\u043e\u0441 \u043a GBQ, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430.<\/p>\n<pre><code class=\"python\">query = \"\"\" SQL - \u0437\u0430\u043f\u0440\u043e\u0441 \"\"\"  query_job = client.query(query); query_df = query_job.to_dataframe(); query_df<\/code><\/pre>\n<h2>\u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442 \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438. \u041e\u043d \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u043e\u0441\u044b \u0438\u043b\u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b. \u0427\u0430\u0441\u0442\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043d\u0430\u0439\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u043b\u0438\u044f\u044e\u0449\u0438\u0435 \u043d\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0436\u0438\u0442\u044c \u043f\u0440\u0438 \u043a\u0440\u0443\u0448\u0435\u043d\u0438\u0438 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187;, \u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u0443\u043b\u0443\u0447\u0448\u0430\u044e\u0449\u0438\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438.<br \/>\u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435, \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u043e\u0439 (\u0442.\u043a. \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043d\u0435\u0442 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#8212; &#171;Survived&#187;). \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0432\u043a\u043b\u044e\u0447\u0438\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443.<\/p>\n<h2>1. \u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u0436\u0435 \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u0437-\u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u0441\u0438\u043b\u0443 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438\u043c\u0435\u0435\u0442\u0441\u044f 19,9%, 77,1%, 0,2% \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 &#171;Age&#187;, &#171;Cabin&#187; \u0438 &#171;Embarked&#187; \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u0418 \u0435\u0441\u043b\u0438 \u0441 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u043c &#171;Age&#187; \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u0445 \u0434\u043e\u043b\u0435\u0439 (\u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435), \u0442\u043e \u0434\u043b\u044f \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Cabin&#187; \u043c\u0430\u043b\u043e\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442.\u043a. \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select round(100 * sum(case when survived is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Survivedved, round(100 * sum(case when pclass is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Pclass,     round(100 * sum(case when name is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Name,     round(100 * sum(case when sex is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Sex,     round(100 * sum(case when age is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Age,     round(100 * sum(case when sibsp is null then 1 else 0 end) \/ max(f.total_passeng), 1) as SibSp,     round(100 * sum(case when parch is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Parch,     round(100 * sum(case when ticket is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Ticket,     round(100 * sum(case when fare is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Fare,     round(100 * sum(case when cabin is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Cabin,     round(100 * sum(case when embarked is null then 1 else 0 end) \/ max(f.total_passeng), 1) as Embarked from     (      select          count(*) over() as total_passeng,          t.*      from `kaggle-titanic-sql.741852.titanic_train` t      ) f<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 CASE. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 CASE \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u0438\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 (\u0430\u043d\u0430\u043b\u043e\u0433 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 if-elif-else \u0432 Python).<br \/>\u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a\u0438\u043c\u0438: \u0435\u0441\u043b\u0438 \u0432 &#171;\u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0435&#187; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u043c &#8212; null, \u0442\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0444\u043b\u0430\u0433 (1), \u0438\u043d\u0430\u0447\u0435 (0). \u0414\u0430\u043b\u0435\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0441 \u0444\u043b\u0430\u0433\u043e\u043c (1) \u0438 \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<h2>2. \u041e\u0431\u0449\u0430\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c<\/h2>\n<p>\u0412 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 891 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440, \u0438\u0437 \u043d\u0438\u0445 \u0432\u044b\u0436\u0438\u0432\u0448\u0438\u0445 342 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0447\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 38,4% \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 &#8212; &#171;Survived&#187; \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d &#8212; 62% \/ 38%.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select case when f.survived = 1 then 'Survived' else 'Not Survived' end as Survival_status,     count(*) as Survival_rate,     round(100 * count(*) \/ max(f.total_passeng), 1) as Percent,     max(f.total_passeng) as Total_passengers from     (      select      count(*) over() as total_passeng,         t.*      from `kaggle-titanic-sql.741852.titanic_train` t      ) f group by f.survived<\/code><\/pre>\n<h2>3. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u0443 \u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443<\/h2>\n<p><strong>\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438: <\/strong>\u043d\u0430 \u0431\u043e\u0440\u0442\u0443 &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430&#187; \u0431\u044b\u043b\u043e 1317 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u0438 908 \u0447\u043b\u0435\u043d\u043e\u0432 \u044d\u043a\u0438\u043f\u0430\u0436\u0430, \u0432 \u043e\u0431\u0449\u0435\u0439 \u0441\u0443\u043c\u043c\u0435 2225 \u0447\u0435\u043b\u043e\u0432\u0435\u043a. &#171;\u0422\u0438\u0442\u0430\u043d\u0438\u043a&#187; \u0431\u044b\u043b \u0431\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u0438\u043c \u043f\u0430\u0440\u043e\u0445\u043e\u0434\u043e\u043c. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0437\u0430\u043a\u043e\u043d\u0430\u043c \u0411\u0440\u0438\u0442\u0430\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u0440\u0430\u0431\u043b\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0448\u043b\u044e\u043f\u043e\u043a, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0432\u043e\u0434\u043e\u0438\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u0441\u0443\u0434\u043d\u0430, \u043d\u043e \u043d\u0435 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438. \u0422\u0438\u0442\u0430\u043d\u0438\u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u044d\u0442\u0438\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0438 \u0438\u043c\u0435\u043b 20 \u0448\u043b\u044e\u043f\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u044b \u043d\u0430 \u043f\u043e\u0433\u0440\u0443\u0437\u043a\u0443 1178 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<p><strong>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430<\/strong>: \u041a\u0430\u043f\u0438\u0442\u0430\u043d \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u0447\u0442\u043e \u043c\u0435\u0441\u0442 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0432 \u0448\u043b\u044e\u043f\u043a\u0430\u0445 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442, \u0438 \u0431\u044b\u043b \u043e\u0442\u0434\u0430\u043d \u043f\u0440\u0438\u043a\u0430\u0437 &#8212; \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u0448\u043b\u044e\u043f\u043a\u0438 \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u0434\u0435\u0442\u0435\u0439.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043d\u0430\u0448\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u0434\u0435\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u043e\u0431\u043b\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 \u0448\u0430\u043d\u0441 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043c\u0443\u0436\u0447\u0438\u043d\u0430\u043c\u0438.<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0436\u0435\u043d\u0449\u0438\u043d \u043e\u0442 \u043c\u0443\u0436\u0447\u0438\u043d \u0441\u0440\u0435\u0434\u0438 \u0438\u0445 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0416\u0435\u043d\u0449\u0438\u043d \u0431\u044b\u043b\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 2 \u0440\u0430\u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u043c\u0443\u0436\u0447\u0438\u043d \u043d\u0430 \u0441\u0443\u0434\u043d\u0435: 64.76% \u043c\u0443\u0436\u0447\u0438\u043d \u0438 35.24% \u0436\u0435\u043d\u0449\u0438\u043d.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u043b\u043e\u0432\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 74.2% \u0438 18.89% \u0434\u043b\u044f \u0436\u0435\u043d\u0449\u0438\u043d \u0438 \u043c\u0443\u0436\u0447\u0438\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0423\u0436\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 &#8212; &#171;Sex&#187;.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select f.sex,     sum(f.survived) as count_survived,     max(f.gender_cnt) as total_passeng,     round(100 * max(f.gender_cnt) \/ max(f.total_passeng), 2) as sex_rate,     round(100 *sum(f.survived) \/ max(gender_cnt), 2) as percent_survived, from     (       select       passengerid,           count(*) over(partition by sex) as gender_cnt,           count(*) over() as total_passeng,           sex,           survived        from `kaggle-titanic-sql.741852.titanic_train` t     ) f group by f.sex<\/code><\/pre>\n<p>\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0435\u043b\u0438\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043c \u0435\u0433\u043e \u043d\u0430 7 \u0433\u0440\u0443\u043f\u043f (\u0434\u0435\u0442\u0438 \u043c\u043b\u0430\u0434\u0448\u0435 10, \u043e\u0442 10 \u0434\u043e 20 \u043b\u0435\u0442, \u0438 \u0442.\u0434.), \u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043e\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u0432\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0432 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0430 7 \u0433\u0440\u0443\u043f\u043f, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0439 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b: \u0412\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0436\u0435\u043d\u0449\u0438\u043d \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0438\u043c\u0435\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 &#8212; \u0431\u043e\u043b\u044c\u0448\u0435 60%, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u0441\u0440\u0435\u0434\u0438 \u043c\u0443\u0436\u0447\u0438\u043d \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u0443 \u0434\u0435\u0442\u0435\u0439 \u043c\u043b\u0430\u0434\u0448\u0435 10 \u043b\u0435\u0442 &#8212; 59%, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u0443\u0436\u0447\u0438\u043d \u043e\u0442 10 \u0434\u043e 20 \u043b\u0435\u0442 \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0430 12% \u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u044d\u0442\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0433\u0440\u0443\u043f\u043f.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select sex,     case     when age &lt; 10 then '10 &lt; age'         when age >=10 and age &lt; 20 then '10&lt;= age &lt; 20'         when age >= 20 and age &lt; 30 then '20&lt;= age &lt; 30'         when age >=30 and age &lt; 40 then '30&lt;= age &lt; 40'         when age >=40 and age &lt; 55 then '40&lt;= age &lt; 55'         when age >=55 then '55 &lt;= age'         else 'None_age'      end as age_grouping,      sum(survived) as count_survived,      count(sex) as total_count,      round(sum(survived)\/count(survived), 4) as percent_survived from `kaggle-titanic-sql.741852.titanic_train` group by age_grouping, sex order by sex, age_grouping<\/code><\/pre>\n<h2>4. \u0412\u044b\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u0438\u0442\u0443\u043b\u0430 \u0438\u0437 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438<\/h2>\n<p>\u041f\u0440\u0438\u0437\u043d\u0430\u043a \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 &#8212; &#171;Name&#187; \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u043c \u0447\u0442\u043e-\u0442\u043e \u043e \u0432\u044b\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u043b\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u0438\u0437 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 &#171;Name&#187; \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u0442\u0443\u043b\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u0442\u0443\u043b\u043e\u0432 \u0432 \u0438\u043c\u0435\u043d\u0430\u0445. \u0412\u0441\u0435\u0433\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f 17 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u0442\u0443\u043b\u043e\u0432, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0440\u0430\u0437\u0440\u044f\u0436\u0435\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0446\u0435\u043d\u043e\u0447\u043d\u044b\u0435 \u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0442\u0430\u043a\u0438\u0445 \u0442\u0438\u0442\u0443\u043b\u0430\u0445 \u043a\u0430\u043a: Sir, Major \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439, \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0442\u0438\u0442\u0443\u043b\u0430\u043c\u0438, \u043a\u0430\u043a Miss \u0438 Mr.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<pre><code class=\"sql\">select  split(split(f.name, ',' )[offset(1)], '.')[offset(0)] as title_name,     count(f.total_passeng) as total_passeng,     sum(f.survived) as total_survived,     round(100 * sum(f.survived) \/ count(f.total_passeng), 1) as percent_survived from      (      select      name,         count(*) over() as total_passeng,         survived,      from `kaggle-titanic-sql.741852.titanic_train` t      ) f  group by title_name<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u0449\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c 17 \u0442\u0438\u0442\u0443\u043b\u043e\u0432 \u0432 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b: Mr, Mrs, Miss \u0438 Master. \u0422\u0438\u0442\u0443\u043b Master \u0432 19 \u0432\u0435\u043a\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0434\u0435\u0442\u044f\u043c \u043c\u0443\u0436\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u043b\u0430, Miss \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u043e<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-397787","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/397787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=397787"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/397787\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=397787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=397787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=397787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}