본문 바로가기
728x90
반응형
SMALL

Data-driven Methodology79

[Data Science] 빅 데이터 (Big Data) 빅 데이터 (Big Data) 빅 데이터란 기존 데이터베이스 관리도구의 능력을 넘어서는 대량의 정형 또는 심지어 데이터베이스 형태가 아닌 비정형의 데이터 집합조차 포함한 데이터로부터 가치를 추출하고 결과를 분석하는 기술이다. Volume 빅 데이터의 크기는 일반적으로 테라바이트 및 페타바이트보다 크다. Velocity 성장과 발전의 길에 놓여 있는 요구와 과제를 충족하기 위해 데이터가 생성되고 처리되는 속도이다. 빅데이터는 종종 실시간으로 이용할 수 있다. Variety 구조화에서 반구조화 또는 비구조화로의 유형 및 성격의 변화는 기존 도구와 기술에 도전장을 던졌다. 비정형 데이터 (Unstructured Data) 정형 데이터 (Structured data) 비정형 데이터 (Unstructured Da.. 2022. 9. 28.
[Data Science] 의사결정 트리 (Decision Tree) (3) 트리 가지치기 (Tree Pruning) 의사결정 트리의 마지막 노드의 개수를 지정하여 트리의 깊이를 조정하는 방법이다. 클래스의 마지막 노드인 잎 노드 (leaf node)의 개수를 개발자가 직접 결정한다. 1개로 이루어진 잎 노드가 많을 경우 과대적합되어 있는 상태에서 잎 노드의 개수와 관계 없이 해당 가지에 불확실성이 너무 높을 경우 의사결정 트리의 성능에 문제를 줄 수 있다. 사전 가지치기 (pre-pruning) 처음 트리를 만들 때 트리의 깊이나 마지막 노드의 최소 개수 등을 사전에 결정하여 입력한다. 데이터 분석가가 하이퍼 파라미터로 모든 값을 입력해야 하는 점이 어려움이 있다. 계산 효율이 좋고 작은 데이터셋에서도 쉽게 작동한다. 사용자가 중요한 속성 값을 놓치거나 과소적합 문제 발생할 수.. 2022. 9. 27.
[Data Science] 의사결정 트리 (Decision Tree) (2) 정보 이득 (Information Gain) 엔트로피를 사용하여 속성별 분류 시 데이터가 얼마나 순수한지 (impurity)를 측정하는 지표를 말한다. 속성별 엔트로피 속성 A로 데이터를 분류했을 때 속성 A가 가진 모든 클래스의 각 엔트로피를 계산한 후, 데이터의 개수만큼 가중치를 준다. 속성별 정보 이득 정보 이득이 크면 클수록 A를 기준으로 데이터를 분류했을 때 얻을 수 있는 정보량이 많다는 뜻이다. A를 기준으로 데이터를 나눌 때 엔트로피가 작다면 해당 속성을 기준으로 데이터를 나누기 좋다고 볼 수 있다. ID3 알고리즘 성장 (grow) : 일반적으로 의사결정 트리를 생성하는 방법을 성장이라고 부른다. 트리 (나무)를 성장시키는 개념이다. ID3 (Iterative Dichotomiser 3) .. 2022. 9. 27.
[Data Science] 의사결정 트리 (Decision Tree) (1) 의사결정 트리 (Decision Tree) 어떤 규칙을 하나의 트리 (tree) 형태로 표현한 후 이를 바탕으로 분류나 회귀 문제를 해결하는 것이다. 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 트리 기반의 분류 규칙을 만드는 것이다. 머신러닝 알고리즘 중 가장 직관적으로 이해하기 쉬운 알고리즘이다. 머신러닝 모델 중 데이터에 대한 설명성이 존재하기에 효과와 실용성이 가장 좋다. 트리 구조의 마지막 노드에는 분류 문제에서 클래스, 회귀 문제에서는 예측치가 들어간다. 규칙은 ‘if-else’ 문으로 표현이 가능하다. 트리 구조 네모 박스 : 노드 (Node) 루트 노드 (Root node) : 트리의 가장 높은 곳에 위치하고 있는 노드 가지 (Branches) : 노드와 노드를 연결하는 화 살표 규칙.. 2022. 9. 27.
[Database] DB Browser for SQLite SQLite SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 영어권에서는 '에스큐엘라이트'또는 '시퀄라이트'라고 읽는다. 다운로드 DB Browser for SQLite (DB4S) 다운로드 페이지 https://sqlitebrowser.org/dl/에서 자신의 환경에 맞는 최신 버전의 프로그램을 다운로드한다. DB Browser for SQLite는 윈도우, 맥, 리눅스 등 다양한 환경을 지원한다. brew install --cask db-browser-for-sqlite 데이터 시스템 데이터 레이크 (Data Lake): 정형 및 비정형 (소셜, 센서, 이미지, 동영상 등)의 다양한 형태.. 2022. 9. 26.
[Data Science] 이상치 처리 이상치 (Outlier) 극단적으로 값이 크거나 작은 값을 말한다. 데이터 오기입 혹은 특이 현상을 칭한다. 당뇨병 데이터셋 ➢ Pregnancies : 임신 횟수 ➢ Glucose : 포도당 부하 검사 수치 ➢ BloodPressure : 혈압 ➢ SkinThinkness : 삼두근 피부 두께 ➢ Insulin : 인슐린 수치 ➢ BMI : BMI 수치 ➢ DiabetesPedigreeFunction : 당뇨병 가족력 ➢ Age : 나이 ➢ Outcome : 당뇨병 여부 import numpy as np import pandas as pd df = pd.read_csv('Diabetes_Database.csv') for key in ["Glucose","BloodPressure","SkinThickne.. 2022. 9. 26.
[Data Science] 결측치 처리 (2) 범주형 데이터 처리 원핫 인코딩 ➢ 범주형 데이터의 개수만큼 변수를 생성하여 해당 여부를 0 또는 1로 표현 df = pd.read_csv('Medical_dataset.csv') df.head() print(df.dtypes) age float64 sex object bmi float64 smoker object region object children int64 charges float64 dtype: object df_all_columns = pd.get_dummies(df) df_all_columns.head() # 특정 특징만 변경 gender = pd.get_dummies(df[['sex']]) gender.head() bins = [0,10,20,30,40,50,60,70,80,90,101].. 2022. 9. 26.
[Data Science] 결측치 처리 (1) 결측치 (Missing Data) 다른 항목 측정 시 측정되지 않거나, 네트워크 문제로 인해 누락된 값을 말한다. 데이터마다 측정되는 항목 또한 상이하다. 결측치 처리 삭제 특정 행의 데이터를 삭제하거나 결측치가 많은 특징을 삭제한다. 보간 평균값, 최빈값, 중간값 보간 시 훈련 데이터 (training data)를 기준으로 계산하여 검증 데이터 (validation data)나 테스트 데이터 (test data)에 적용 당뇨병 데이터 전처리 import numpy as np import pandas as pd df = pd.read_csv('Diabetes_Database.csv') df.head() 결측치 확인 print(df.isnull().sum()) Pregnancies 0 Glucose 0 B.. 2022. 9. 24.
[Data Science] 데이터 시각화 (4) 파일 불러오기 import pandas as pd import matplotlib.pyplot as plt plt.rcParams["font.family"] = "Malgun Gothic" graph = pd.read_excel("test_data.xlsx", sheet_name = "Sheet1") graph.head(10) 선 그래프 graph.plot(y = ["국어", "영어", "수학"], grid = True, title = "선그래프", color = ["green", "red", "blue"]) plt.show() 산점도 그래프 graph.plot.scatter(x = "반", y = "영어", color = "red", title = "영어 점수 산점도") plt.show() 막대 그래프.. 2022. 9. 22.
[Data Science] 데이터 시각화 (3) 데이터 파일 불러오기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.rcParams["font.family"] = "Malgun Gothic" df = pd.read_csv("test_data.csv") df.head(10) 데이터 구조 확인 df.info() RangeIndex: 1000 entries, 0 to 999 Data columns (total 13 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 id 1000 non-null int64 1 age 1000 non-null int64 .. 2022. 9. 22.
728x90
반응형
LIST