{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":67356,"databundleVersionId":8006601,"sourceType":"competition"}],"dockerImageVersionId":30715,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session\n\nfrom pyarrow.parquet import ParquetFile\n# import pickle\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-06-11T04:53:22.853068Z","iopub.execute_input":"2024-06-11T04:53:22.853485Z","iopub.status.idle":"2024-06-11T04:53:23.415544Z","shell.execute_reply.started":"2024-06-11T04:53:22.853453Z","shell.execute_reply":"2024-06-11T04:53:23.413799Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# !python --version","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:23.417949Z","iopub.execute_input":"2024-06-11T04:53:23.418429Z","iopub.status.idle":"2024-06-11T04:53:23.424526Z","shell.execute_reply.started":"2024-06-11T04:53:23.418397Z","shell.execute_reply":"2024-06-11T04:53:23.422991Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# pwd","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:23.426652Z","iopub.execute_input":"2024-06-11T04:53:23.427167Z","iopub.status.idle":"2024-06-11T04:53:23.438847Z","shell.execute_reply.started":"2024-06-11T04:53:23.427128Z","shell.execute_reply":"2024-06-11T04:53:23.437305Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ParquetFile('/kaggle/input/leash-BELKA/train.parquet').metadata","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:23.442398Z","iopub.execute_input":"2024-06-11T04:53:23.442937Z","iopub.status.idle":"2024-06-11T04:53:23.493523Z","shell.execute_reply.started":"2024-06-11T04:53:23.442882Z","shell.execute_reply":"2024-06-11T04:53:23.492090Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ParquetFile('/kaggle/input/leash-BELKA/train.parquet').schema","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:23.495337Z","iopub.execute_input":"2024-06-11T04:53:23.495788Z","iopub.status.idle":"2024-06-11T04:53:23.516205Z","shell.execute_reply.started":"2024-06-11T04:53:23.495746Z","shell.execute_reply":"2024-06-11T04:53:23.514690Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#load csv\n# submission check\nsample_sub = pd.read_csv(os.path.join(dirname, filenames[0]))\nsample_sub","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:23.518499Z","iopub.execute_input":"2024-06-11T04:53:23.518956Z","iopub.status.idle":"2024-06-11T04:53:24.261129Z","shell.execute_reply.started":"2024-06-11T04:53:23.518920Z","shell.execute_reply":"2024-06-11T04:53:24.259614Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Standard method\n![image.png](attachment:bc3c10c3-9fa3-45f4-9acc-24a856a47f2b.png)","metadata":{},"attachments":{"bc3c10c3-9fa3-45f4-9acc-24a856a47f2b.png":{"image/png":"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"}}},{"cell_type":"markdown","source":"# Test EDA","metadata":{}},{"cell_type":"code","source":"test = pd.read_parquet(os.path.join(dirname, filenames[2]))\ntest.head()","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:24.262444Z","iopub.execute_input":"2024-06-11T04:53:24.262827Z","iopub.status.idle":"2024-06-11T04:53:25.754274Z","shell.execute_reply.started":"2024-06-11T04:53:24.262795Z","shell.execute_reply":"2024-06-11T04:53:25.753087Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(test)","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:25.755688Z","iopub.execute_input":"2024-06-11T04:53:25.756018Z","iopub.status.idle":"2024-06-11T04:53:25.764435Z","shell.execute_reply.started":"2024-06-11T04:53:25.755989Z","shell.execute_reply":"2024-06-11T04:53:25.763286Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(f\"BRD4: {test[test['protein_name']=='BRD4'].id.count()} | HSA: {test[test['protein_name']=='HSA'].id.count()} | sEH: {test[test['protein_name']=='sEH'].id.count()} || Is sum() == len(test)?: {sum([test[test['protein_name']=='BRD4'].id.count(), test[test['protein_name']=='HSA'].id.count(), test[test['protein_name']=='sEH'].id.count()]) == len(test)}\")","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:25.766023Z","iopub.execute_input":"2024-06-11T04:53:25.767140Z","iopub.status.idle":"2024-06-11T04:53:28.097328Z","shell.execute_reply.started":"2024-06-11T04:53:25.767100Z","shell.execute_reply":"2024-06-11T04:53:28.096100Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"target = list(set(list(test['protein_name'])))\ntarget","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:28.101691Z","iopub.execute_input":"2024-06-11T04:53:28.102074Z","iopub.status.idle":"2024-06-11T04:53:28.344719Z","shell.execute_reply.started":"2024-06-11T04:53:28.102042Z","shell.execute_reply":"2024-06-11T04:53:28.343015Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(set(list(test['buildingblock1_smiles']))), len(set(list(test['buildingblock2_smiles']))), len(set(list(test['buildingblock3_smiles'])))","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:28.346904Z","iopub.execute_input":"2024-06-11T04:53:28.347891Z","iopub.status.idle":"2024-06-11T04:53:29.063846Z","shell.execute_reply.started":"2024-06-11T04:53:28.347843Z","shell.execute_reply":"2024-06-11T04:53:29.062577Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for tmp in test.columns[1:4]:\n    print(str(tmp))","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:29.064896Z","iopub.execute_input":"2024-06-11T04:53:29.065202Z","iopub.status.idle":"2024-06-11T04:53:29.072195Z","shell.execute_reply.started":"2024-06-11T04:53:29.065174Z","shell.execute_reply":"2024-06-11T04:53:29.070915Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for t in target: \n    for block in test.columns[1:4]:\n        print(t, block, len(set(list(test[test['protein_name']==t][str(block)]))))\ndel target","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:29.074350Z","iopub.execute_input":"2024-06-11T04:53:29.074779Z","iopub.status.idle":"2024-06-11T04:53:33.056241Z","shell.execute_reply.started":"2024-06-11T04:53:29.074747Z","shell.execute_reply":"2024-06-11T04:53:33.055050Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"test_BRD4 = test[test['protein_name'] == 'BRD4']\ntest_HSA = test[test['protein_name'] == 'HSA']\ntest_sEH = test[test['protein_name'] == 'sEH']\n\nfor block in test.columns[1:4]:\n    print(block, len(set(list(test_BRD4[str(block)]))))\n    print(block, len(set(list(test_HSA[str(block)]))))\n    print(block, len(set(list(test_sEH[str(block)]))))\n    \n#이왜진\n\ndel test_BRD4, test_HSA, test_sEH","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:33.057772Z","iopub.execute_input":"2024-06-11T04:53:33.058119Z","iopub.status.idle":"2024-06-11T04:53:34.954000Z","shell.execute_reply.started":"2024-06-11T04:53:33.058088Z","shell.execute_reply":"2024-06-11T04:53:34.952767Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"features = test.iloc[:, [1,2,3]]\nfeatures","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:34.955273Z","iopub.execute_input":"2024-06-11T04:53:34.955593Z","iopub.status.idle":"2024-06-11T04:53:35.032295Z","shell.execute_reply.started":"2024-06-11T04:53:34.955565Z","shell.execute_reply":"2024-06-11T04:53:35.031191Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"features.drop_duplicates().count()","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:35.033561Z","iopub.execute_input":"2024-06-11T04:53:35.033878Z","iopub.status.idle":"2024-06-11T04:53:36.106646Z","shell.execute_reply.started":"2024-06-11T04:53:35.033850Z","shell.execute_reply":"2024-06-11T04:53:36.105485Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"del features, test","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:36.107893Z","iopub.execute_input":"2024-06-11T04:53:36.108191Z","iopub.status.idle":"2024-06-11T04:53:36.113117Z","shell.execute_reply.started":"2024-06-11T04:53:36.108164Z","shell.execute_reply":"2024-06-11T04:53:36.111899Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Train EDA","metadata":{}},{"cell_type":"code","source":"train_block_1 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock1_smiles'])['buildingblock1_smiles'] # 17.5GB","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:53:36.114412Z","iopub.execute_input":"2024-06-11T04:53:36.114789Z","iopub.status.idle":"2024-06-11T04:54:04.563193Z","shell.execute_reply.started":"2024-06-11T04:53:36.114758Z","shell.execute_reply":"2024-06-11T04:54:04.561878Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_block_2 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock2_smiles'])['buildingblock2_smiles']","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:04.564925Z","iopub.execute_input":"2024-06-11T04:54:04.565262Z","iopub.status.idle":"2024-06-11T04:54:21.327956Z","shell.execute_reply.started":"2024-06-11T04:54:04.565233Z","shell.execute_reply":"2024-06-11T04:54:21.326706Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_block_3 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock3_smiles'])['buildingblock3_smiles']","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:21.329367Z","iopub.execute_input":"2024-06-11T04:54:21.329728Z","iopub.status.idle":"2024-06-11T04:54:40.555363Z","shell.execute_reply.started":"2024-06-11T04:54:21.329689Z","shell.execute_reply":"2024-06-11T04:54:40.554027Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_whole = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['molecule_smiles']) #OOM","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:40.557430Z","iopub.execute_input":"2024-06-11T04:54:40.557973Z","iopub.status.idle":"2024-06-11T04:54:40.564228Z","shell.execute_reply.started":"2024-06-11T04:54:40.557928Z","shell.execute_reply":"2024-06-11T04:54:40.562246Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_binds = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['binds'])['binds'] #11.1GB","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:40.566110Z","iopub.execute_input":"2024-06-11T04:54:40.566600Z","iopub.status.idle":"2024-06-11T04:54:40.579777Z","shell.execute_reply.started":"2024-06-11T04:54:40.566553Z","shell.execute_reply":"2024-06-11T04:54:40.578495Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_protein = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['protein_name'])['protein_name'] # 14GB","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:40.582113Z","iopub.execute_input":"2024-06-11T04:54:40.582697Z","iopub.status.idle":"2024-06-11T04:54:40.594162Z","shell.execute_reply.started":"2024-06-11T04:54:40.582640Z","shell.execute_reply":"2024-06-11T04:54:40.593065Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print('Kinds of blobk 1 : ', len(set(list(train_block_1))), \\\n      '| Kinds of blobk 2 : ', len(set(list(train_block_2))), \\\n      '| Kinds of blobk 3 : ', len(set(list(train_block_3))))","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:54:40.595510Z","iopub.execute_input":"2024-06-11T04:54:40.595890Z","iopub.status.idle":"2024-06-11T04:56:56.655000Z","shell.execute_reply.started":"2024-06-11T04:54:40.595859Z","shell.execute_reply":"2024-06-11T04:56:56.653693Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"the_number_of_train = len(train_block_1)\ndel train_block_1, train_block_2, train_block_3\nprint(the_number_of_train)","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:56:56.656724Z","iopub.execute_input":"2024-06-11T04:56:56.657162Z","iopub.status.idle":"2024-06-11T04:57:00.638327Z","shell.execute_reply.started":"2024-06-11T04:56:56.657121Z","shell.execute_reply":"2024-06-11T04:57:00.637011Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print('The number of train rows : ', len(set(list(pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['id'])['id']))))","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:57:00.639997Z","iopub.execute_input":"2024-06-11T04:57:00.640419Z","iopub.status.idle":"2024-06-11T04:58:43.083590Z","shell.execute_reply.started":"2024-06-11T04:57:00.640376Z","shell.execute_reply":"2024-06-11T04:58:43.082359Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"2 95,24 6,830","metadata":{}},{"cell_type":"code","source":"# short sample work\n# sel_BRD4 = [('protein_name','==','BRD4')]\n# train_BRD4_1 = pd.read_parquet(os.path.join(dirname, filenames[1]), filters = sel_BRD4, columns = ['protein_name'])['protein_name']\n# set(list(train_BRD4_1))","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:58:43.085057Z","iopub.execute_input":"2024-06-11T04:58:43.085433Z","iopub.status.idle":"2024-06-11T04:58:43.090661Z","shell.execute_reply.started":"2024-06-11T04:58:43.085401Z","shell.execute_reply":"2024-06-11T04:58:43.089443Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 각 블럭 & 타겟단백질 별로 갯수 확인\nsel_BRD4 = [('protein_name','==','BRD4')]\nsel_HSA = [('protein_name','==','HSA')]\nsel_sEH = [('protein_name','==','sEH')]\ntrain_BRD4_1 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock1_smiles'], filters = sel_BRD4)['buildingblock1_smiles']\ntrain_BRD4_2 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock2_smiles'], filters = sel_BRD4)['buildingblock2_smiles']\ntrain_BRD4_3 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock3_smiles'], filters = sel_BRD4)['buildingblock3_smiles']\ntrain_BRD4_L = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['binds'], filters = sel_BRD4)['binds']\nprint('BRD4 finished')\ntrain_HSA_1 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock1_smiles'], filters = sel_HSA)['buildingblock1_smiles']\ntrain_HSA_2 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock2_smiles'], filters = sel_HSA)['buildingblock2_smiles']\ntrain_HSA_3 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock3_smiles'], filters = sel_HSA)['buildingblock3_smiles']\ntrain_HSA_L = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['binds'], filters = sel_HSA)['binds']\nprint('HSA finished')\ntrain_sEH_1 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock1_smiles'], filters = sel_sEH)['buildingblock1_smiles']\ntrain_sEH_2 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock2_smiles'], filters = sel_sEH)['buildingblock2_smiles']\ntrain_sEH_3 = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['buildingblock3_smiles'], filters = sel_sEH)['buildingblock3_smiles']\ntrain_sEH_L = pd.read_parquet(os.path.join(dirname, filenames[1]), columns = ['binds'], filters = sel_sEH)['binds']\nprint('All finished')","metadata":{"execution":{"iopub.status.busy":"2024-06-11T04:58:43.097878Z","iopub.execute_input":"2024-06-11T04:58:43.098320Z","iopub.status.idle":"2024-06-11T05:01:16.282916Z","shell.execute_reply.started":"2024-06-11T04:58:43.098284Z","shell.execute_reply":"2024-06-11T05:01:16.281546Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(train_BRD4_1), len(train_BRD4_2), len(train_BRD4_3), len(train_HSA_1), len(train_HSA_2), len(train_HSA_3), len(train_sEH_1), len(train_sEH_2), len(train_sEH_3)","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:01:16.284412Z","iopub.execute_input":"2024-06-11T05:01:16.284807Z","iopub.status.idle":"2024-06-11T05:01:16.294850Z","shell.execute_reply.started":"2024-06-11T05:01:16.284774Z","shell.execute_reply":"2024-06-11T05:01:16.293621Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"train protein_name 별 데이터 수 : 98415610\n\n98415610 * 3 = 총 데이터 수 295246830","metadata":{}},{"cell_type":"code","source":"len(train_BRD4_1)*3 == 295246830","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:01:16.296912Z","iopub.execute_input":"2024-06-11T05:01:16.297460Z","iopub.status.idle":"2024-06-11T05:01:16.316123Z","shell.execute_reply.started":"2024-06-11T05:01:16.297421Z","shell.execute_reply":"2024-06-11T05:01:16.314645Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pip install pyspark","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:01:16.317439Z","iopub.execute_input":"2024-06-11T05:01:16.317857Z","iopub.status.idle":"2024-06-11T05:02:13.003046Z","shell.execute_reply.started":"2024-06-11T05:01:16.317823Z","shell.execute_reply":"2024-06-11T05:02:13.001237Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from pyspark.sql import SparkSession\n\n# SparkSession 생성\nspark = SparkSession.builder.appName(\"Parquet EDA\").getOrCreate()\n\n# Parquet 파일 로드\nparquet_file_path = \"/kaggle/input/leash-BELKA/train.parquet\"\ndf = spark.read.parquet(parquet_file_path)\n\n# 데이터프레임의 스키마 확인\ndf.printSchema()\n\n# 'binds' 컬럼의 값 분포 확인\ndf.groupBy('binds').count().show()\n\n# 'binds'가 0 또는 1인 경우에 대해 'protein_name'의 값 확인\nbind_values = df.select('binds').distinct().rdd.flatMap(lambda x: x).collect()\nfor bind_value in bind_values:\n    print(f\"Bind Value: {bind_value}\")\n    df.filter(df['binds'] == bind_value).select('protein_name').show(truncate=False)\n\n# 'binds'와 'protein_name' 사이의 연관성 탐색\nassociation_df = df.groupBy('binds', 'protein_name').count().orderBy('binds', 'protein_name')\nassociation_df.show()\n\n# 종료\nspark.stop()\n","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:02:13.004821Z","iopub.execute_input":"2024-06-11T05:02:13.005175Z","iopub.status.idle":"2024-06-11T05:03:01.028138Z","shell.execute_reply.started":"2024-06-11T05:02:13.005140Z","shell.execute_reply":"2024-06-11T05:03:01.026771Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 1 Column\n\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql.functions import avg, count\nimport datetime\n\nt = datetime.datetime.now().strftime(\"%H%M%S\")\n\n# 스파크 세션 생성\nspark = SparkSession.builder.appName(\"CalculateBindRatios\").getOrCreate()\n\n# 데이터 로드 (Parquet 파일)\ndata = spark.read.parquet('/kaggle/input/leash-BELKA/train.parquet')\n\n# 각 buildingblock의 값에 대한 binds 비율 계산\nbuildingblocks = ['buildingblock1_smiles', 'buildingblock2_smiles', 'buildingblock3_smiles']\n\nfor block in buildingblocks:\n    # 각 buildingblock 값에 대한 binds의 평균 (비율) 및 행 개수 계산 후 내림차순 정렬\n    bind_ratios = data.groupBy(block).agg(avg('binds').alias('bind_ratio'),count('*').alias('count')).orderBy('bind_ratio', ascending=False)\n    # csv 저장\n    bind_ratios.write.csv(f'{block}_bind_ratios_{t}.csv', header=True)\n    \n    print(f\"Bind ratios for {block}:\")\n    bind_ratios.show()\n    print()\n    \n# 스파크 세션 중지\nspark.stop()","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:03:01.030204Z","iopub.execute_input":"2024-06-11T05:03:01.030710Z","iopub.status.idle":"2024-06-11T05:05:12.330593Z","shell.execute_reply.started":"2024-06-11T05:03:01.030645Z","shell.execute_reply":"2024-06-11T05:05:12.329072Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 2 Columns\n\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql.functions import avg, count\nimport datetime\n\nt = datetime.datetime.now().strftime(\"%H%M%S\")\n\n# 스파크 세션 생성\nspark = SparkSession.builder.appName(\"CalculateBindRatios\").getOrCreate()\n\n# 데이터 로드 (Parquet 파일)\ndata = spark.read.parquet('/kaggle/input/leash-BELKA/train.parquet')\n\n# 각 buildingblock의 값에 대한 binds 비율 계산\npairs = [\n    ('buildingblock1_smiles', 'buildingblock2_smiles'),\n    ('buildingblock2_smiles', 'buildingblock3_smiles'),\n    ('buildingblock1_smiles', 'buildingblock3_smiles')\n]\n\nfor block1, block2 in pairs:\n    # 각 buildingblock 쌍에 대한 binds의 평균 (비율) 및 행 개수 계산 후 내림차순 정렬\n    bind_ratios = data.groupBy(block1, block2).agg(avg('binds').alias('bind_ratio'),count('*').alias('count')).orderBy('bind_ratio', ascending=False)\n    # csv 저장\n    bind_ratios.write.csv(f'{block1}_and_{block2}_bind_ratios_{t}.csv', header=True)\n    \n    print(f\"Bind ratios for {block1} and {block2} pair:\")\n    bind_ratios.show()\n    print()\n    \n# 스파크 세션 중지\nspark.stop()","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:05:12.332700Z","iopub.execute_input":"2024-06-11T05:05:12.333106Z","iopub.status.idle":"2024-06-11T05:10:30.372320Z","shell.execute_reply.started":"2024-06-11T05:05:12.333071Z","shell.execute_reply":"2024-06-11T05:10:30.370911Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 2 Columns on each proteins\n\nfrom pyspark.sql import SparkSession\nfrom pyspark.sql.functions import avg, count\nimport datetime\n\nt = datetime.datetime.now().strftime(\"%H%M%S\")\n\n# 스파크 세션 생성\nspark = SparkSession.builder.appName(\"CalculateBindRatios\").getOrCreate()\n\n# 데이터 로드 (Parquet 파일)\ndata = spark.read.parquet('/kaggle/input/leash-BELKA/train.parquet')\n\n# 각 buildingblock의 값에 대한 binds 비율 계산\npairs = [\n    ('buildingblock1_smiles', 'buildingblock2_smiles'),\n    ('buildingblock2_smiles', 'buildingblock3_smiles'),\n    ('buildingblock1_smiles', 'buildingblock3_smiles')\n]\n\nfor block1, block2 in pairs:\n    for protein in data.select(\"protein_name\").distinct().collect():\n        protein_name = protein['protein_name']\n        protein_data = data.filter(data.protein_name == protein_name)\n        \n        # 각 buildingblock 쌍에 대한 binds의 평균 (비율) 및 행 개수 계산 후 내림차순 정렬\n        bind_ratios = protein_data.groupBy(block1, block2).agg(avg('binds').alias('bind_ratio'),count('*').alias('count')).orderBy('bind_ratio', ascending=False)\n        \n         # csv 저장\n        bind_ratios.write.csv(f'{block1[:-7]}_and_{block2[:-7]}_on_{protein_name}_bind_ratios_{t}.csv', header=True)\n    \n        print(f\"Bind ratios for {block1[:-7]} and {block2[:-7]} pair in protein {protein_name}:\")\n        bind_ratios.show()\n        print()\n    \n# 스파크 세션 중지\nspark.stop()\n\n\n","metadata":{"execution":{"iopub.status.busy":"2024-06-11T05:10:30.373957Z","iopub.execute_input":"2024-06-11T05:10:30.374334Z","iopub.status.idle":"2024-06-11T05:20:32.686753Z","shell.execute_reply.started":"2024-06-11T05:10:30.374294Z","shell.execute_reply":"2024-06-11T05:20:32.685195Z"},"trusted":true},"execution_count":null,"outputs":[]}]}