#Nvidia Developer, 단 몇 시간 만에 새로운 기술을 배우세요, 3-1
#맨땅에 헤딩은 힘들다
#00_Introduction.ipynb
소개만 몇시간을 보고 있습니다. 아래 순서대로 공부하면 됩니다.
#01_ExploreData.ipynb (현재, 이번시간)
#02_PrepareData.ipynb
#03_BuildModel.ipynb
출처: https://jins5677.tistory.com/1731 [jins5677 Songcheon:티스토리]
#01_ExploreData.ipynb (현재, 이번시간)
#1. Explore the Data with pandas
Electronic Health Records (EHRs) contain a wealth of patient medical information that can:
- Save valuable time when an emergency arises
- Eliminate unnecesary treatment and tests
- Prevent potentially life-threatening mistakes
- Improve the overall quality of care a patient receives when seeking medical assistance
Children's Hospital Los Angeles (CHLA) wanted to know if the records could be mined to yield early warning signs of patients that may require extra care or an indication of the severity of a patient's illness. In this lab we have access to the work and results of CHLA's applied use of deep neural networks on EHRs belonging to roughly 5,000 pediatric ICU patients.
We will start by exploring the data using the python library pandas to manage the dataset provided in HDF5 format.
#1. pandas를 사용한 데이터 탐색
전자 건강 기록(EHR)은 다음과 같은 많은 환자의 의료 정보를 포함하고 있습니다:
- 응급 상황 발생 시 소중한 시간을 절약할 수 있습니다.
- 불필요한 치료와 검사를 없앨 수 있습니다.
- 잠재적으로 생명을 위협하는 실수를 방지할 수 있습니다.
- 의료 지원을 받을 때 환자가 받는 전반적인 치료의 질을 향상시킬 수 있습니다.
로스앤젤레스 어린이 병원(CHLA)은 기록을 통해 추가 관리가 필요한 환자의 조기 경고 신호나 환자의 병의 심각성을 나타내는 징후를 찾아낼 수 있는지 알고 싶어했습니다. 이 실험실에서는 약 5,000명의 소아 ICU 환자에 대한 EHR을 사용한 CHLA의 심층 신경망 적용 작업과 결과에 접근할 수 있습니다.
HDF5 형식으로 제공된 데이터셋을 관리하기 위해 Python 라이브러리인 pandas를 사용하여 데이터를 탐색하는 것부터 시작하겠습니다.
1.1 환경 설정
1.2 pandas로 데이터 로드하기
1.3 데이터 시각화
- 1.3.1 예제: 단일 방문에서의 데이터 보기
- 1.3.2 연습: 관찰 수 히스토그램
- 1.3.3 연습: PICU 체류 기간 히스토그램
1.4 pandas DataFrame 저장하기
해답
#1.1 Set Up the Environment
First, import the libraries we need into our Python workspace. We need os for access to the file system, NumPy for fast array math, pandas for data management, and MatPlotLib for visualization.
Execute the cell below to import these libraries and define the location of the data in the file system.
먼저, 우리가 사용할 라이브러리를 Python 작업 공간에 가져와야 합니다. 파일 시스템에 접근하기 위해 os가 필요하고, 빠른 배열 수학 계산을 위해 NumPy가 필요하며, 데이터 관리를 위해 pandas가 필요하고, 시각화를 위해 MatPlotLib가 필요합니다.
아래 셀을 실행하여 이 라이브러리들을 가져오고 파일 시스템에서 데이터의 위치를 정의하십시오.
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random
# Configure the notebook to display plots
%matplotlib inline
# Define the path to the data folder
data_dir = '/dli/task/data/hx_series'
아래는 코드의 각 부분 의미
```python
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random
```
- `os`: 파일 시스템에 접근할 수 있도록 해주는 Python 표준 라이브러리입니다.
- `numpy`: 빠른 배열 수학 계산을 위한 라이브러리입니다.
- `pandas`: 데이터 관리 및 분석에 유용한 라이브러리입니다.
- `matplotlib.pyplot`: 데이터 시각화를 위한 라이브러리입니다.
- `random`: 랜덤 숫자 생성 및 난수와 관련된 기능을 제공하는 라이브러리입니다.
```python
# Configure the notebook to display plots
%matplotlib inline
```
- 이 줄은 Jupyter 노트북에서 그래프를 인라인(노트북 내에서)으로 표시하도록 설정합니다. 이는 그래프가 별도의 창으로 열리지 않고, 노트북 내에 직접 표시되게 합니다.
```python
# Define the path to the data folder
data_dir = '/dli/task/data/hx_series'
```
- `data_dir`: 데이터가 저장된 폴더의 경로를 정의합니다. 이 경우 데이터 폴더의 경로는 '/dli/task/data/hx_series'입니다. 이 경로를 통해 데이터를 불러오게 됩니다.
위 코드는 주어진 데이터 파일을 불러오고, 데이터 분석 및 시각화를 준비하기 위한 환경을 설정하는 것입니다.
# Next, specify the file paths in the data folder which contains training and validation datasets stored in HDF5 format: inputs (X) and their associated labels (y). HDF5 stands for "hierarchical data format version number 5". The HDF format is designed specifically to store and organize large amounts of scientific data and was originally designed by the National Center for Supercomputing Applications. Common file extensions include .hdf, .hdf5, or simply .h5. The HDF format has become very popular and is well maintained. As a result, HDF5 is a flexible and robust format having API support in most languages and library compatibilty with Windows, OS X and Linux. It is important to note that HDF is a binary format and hence lacks the human readable transparency of text based CSV files. However, HDF file format has faster performance and more efficient storage size. It also scales well from small proof-of-concept ideas to very large operational projects.
다음으로, 학습 및 검증 데이터셋이 저장된 HDF5 형식의 데이터 폴더 내 파일 경로를 지정해야 합니다. HDF5는 "계층적 데이터 형식 버전 번호 5"를 의미합니다. HDF 형식은 대규모 과학 데이터를 저장하고 조직하기 위해 특별히 설계되었으며, 원래는 미국 슈퍼컴퓨팅 응용 프로그램 센터(National Center for Supercomputing Applications)에서 설계되었습니다. 일반적인 파일 확장명으로는 .hdf, .hdf5, 또는 단순히 .h5가 있습니다. HDF 형식은 매우 인기가 있으며 잘 유지되고 있습니다. 그 결과, HDF5는 유연하고 견고한 형식으로 대부분의 언어에서 API 지원을 받고 있으며, Windows, OS X 및 Linux와의 라이브러리 호환성을 가지고 있습니다.
HDF는 이진(binary) 형식이므로 텍스트 기반 CSV 파일에 비해 사람이 읽을 수 있는 투명성이 부족하다는 점을 유념하는 것이 중요합니다. 그러나 HDF 파일 형식은 더 빠른 성능과 더 효율적인 저장 크기를 가지고 있습니다. 또한 소규모 개념 증명 아이디어에서 매우 큰 운영 프로젝트에 이르기까지 잘 확장될 수 있습니다.
# training data inputs: x and targets: y
x_train_path = os.path.join(data_dir, 'X_train.hdf')
y_train_path = os.path.join(data_dir, 'y_train.hdf')
# validation data inputs: x and targest: y
x_valid_path = os.path.join(data_dir, 'X_test.hdf')
y_valid_path = os.path.join(data_dir, 'y_test.hdf')
물론입니다. 아래는 각 줄의 의미를 상세히 설명한 것입니다:
```python
# training data inputs: x and targets: y
x_train_path = os.path.join(data_dir, 'X_train.hdf')
y_train_path = os.path.join(data_dir, 'y_train.hdf')
```
- `# training data inputs: x and targets: y`: 이 주석은 해당 코드가 학습 데이터(inputs)와 그에 연관된 타겟(labels) 경로를 설정하는 부분임을 설명합니다.
- `x_train_path = os.path.join(data_dir, 'X_train.hdf')`: `data_dir`(데이터 폴더 경로)와 'X_train.hdf'(학습 데이터의 입력 파일 이름)을 결합하여 학습 데이터 입력 파일의 전체 경로를 생성합니다.
- `y_train_path = os.path.join(data_dir, 'y_train.hdf')`: `data_dir`(데이터 폴더 경로)와 'y_train.hdf'(학습 데이터의 타겟 파일 이름)을 결합하여 학습 데이터 타겟 파일의 전체 경로를 생성합니다.
```python
# validation data inputs: x and targets: y
x_valid_path = os.path.join(data_dir, 'X_test.hdf')
y_valid_path = os.path.join(data_dir, 'y_test.hdf')
```
- `# validation data inputs: x and targets: y`: 이 주석은 해당 코드가 검증 데이터(inputs)와 그에 연관된 타겟(labels) 경로를 설정하는 부분임을 설명합니다.
- `x_valid_path = os.path.join(data_dir, 'X_test.hdf')`: `data_dir`(데이터 폴더 경로)와 'X_test.hdf'(검증 데이터의 입력 파일 이름)을 결합하여 검증 데이터 입력 파일의 전체 경로를 생성합니다.
- `y_valid_path = os.path.join(data_dir, 'y_test.hdf')`: `data_dir`(데이터 폴더 경로)와 'y_test.hdf'(검증 데이터의 타겟 파일 이름)을 결합하여 검증 데이터 타겟 파일의 전체 경로를 생성합니다.
이와 같이 경로를 지정함으로써 나중에 파일을 불러올 때 경로를 쉽게 참조할 수 있습니다.
- x_train_path 변수에 훈련 데이터 입력(X) 파일 경로를 지정합니다.
- y_train_path 변수에 훈련 데이터 대상(Y) 파일 경로를 지정합니다.
- x_valid_path 변수에 검증 데이터 입력(X) 파일 경로를 지정합니다.
- y_valid_path 변수에 검증 데이터 대상(Y) 파일 경로를 지정합니다.
위 코드를 실행하면 지정한 경로에 있는 데이터를 불러올 수 있습니다
#맨땅에 헤딩은 힘들다 ㅜ.ㅜ
#Nvidia Developer, 단 몇 시간 만에 새로운 기술을 배우세요, 3-1
'AI study, 활용공부, 최신 tech 트렌드' 카테고리의 다른 글
찾아보기, n8n, 무엇에 쓰는 물건이고? (3) | 2024.12.12 |
---|---|
AI study, Cursor, 개발자의 생산성을 높이기 위해 설계된 AI 기반 코드 편집기 (3) | 2024.12.10 |
Nvidia Developer, 단 몇 시간 만에 새로운 기술을 배우세요, 2 (5) | 2024.12.04 |
Nvidia Developer, 단 몇 시간 만에 새로운 기술을 배우세요, 1 (2) | 2024.12.04 |
리뷰, 1인 개발자, 데이팅 앱, 전 건물주, 시스템과 루틴 등 | 조코딩의 팟캐스트 #4 (1) | 2024.12.04 |