전체 글 53

HTML & CSS, DOM, Web Scraping

HTML HyperText Markup Language의 약자로 웹에서 페이지를 표시할 때 사용되는 마크업 언어입니다. HTML Element HTML에서는 요소 라는 것이 중요하며, body, head, div, li 등이 있습니다. 이 요소를 꺽새를 이용하여 : 열고 : 닫는다 로의 의미로 사용합니다. 또한, 기능에 따라 열어주기만 하는 요소도 존재합니다. 줄을 추가하거나 하는 기능입니다. Python with HTML Hi HTML ! CSS CSS는 웹 페이지 문서가 어떻게 표현되는지 알려주는 언어로, Cascading Style Sheets의 약자입니다. 한마디로 HTML로 구성된 웹 페이지를 CSS로 꾸며주는 것입니다. CSS Selector CSS에서는 여러가지 셀렉터들이 존재하며, 이를 통..

파이썬 - 싱글언더스코어, 더블언더스코어

single underscore 파이썬 클래스 내부에서 따로 변수나 값을 저장될때 사용되기도 하며, 클래스 외부에서 접근이 가능합니다 double underscore 파이썬 클래스 내부에서만 관리하도록 __init__와 같이, 밑줄을 두개를 사용합니다 외부에서 접근이 어려운 것이지, 할 수 없는 것이 아닙니다. Python with underscore class Digimon: __Digimon_power = 30 def __init__(self, Digimon_a='Agumon'): self.Digimon_a = Digimon_a Digi_a = Pokemon() print(Digi_a._Digimon__Digimon_power)

파이썬 - 디버깅편(Pdb, breakpoint( ))

Pdb pdb라는 라이브러리를 통해 디버깅을 할 수 있습니다 Pdb with Python import pdb def simple_function(nums): total_sum = 0 pdb.set_trace() for i in range(0, nums + 1): pdb.set_trace() total_sum += i return sum simple_function(4) 위의 코드를 실행하면 #pdb.set_trace()라는 코드 위에서 코드가 멈춰있게 됩니다 db.set_trace()를 멈추고 싶은 곳에 위치시키면 됩니다. 해당 상태에서 n을 입력하면 NEXT라는 의미로 코드를 한줄씩 진행할 수 있게 됩니다 이를 통해 total_sum의 값이 어떻게 변화하는지 알 수 있습니다. n으로 포문을 한번 돌린 ..

SQL 기초 및 활용 - 2

트랜잭션 트랜잭션이란 여러 개의 작업들을 하나의 실행 유닛으로 묶어준 것입니다. 각 트랜잭션은 하나의 특정 작업으로 시작을 해 묶여 있는 모든 작업들을 다 완료해야 끝나게 되어있습니다. 만약 한 개의 작업이라도 실패하게 된다면 전부 실패하게 됩니다. 다시 말해 작업이 하나라도 실패를 하게 되면 트랜잭션도 실패이고 모든 작업이 성공적이면 트랜잭션 또한 성공적이게 됩니다. 트랜잭션이란 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위 이처럼 트랜잭션은 성공 혹은 실패 이 두개의 결과만 존재합니다. 이러한 데이터베이스 트랜잭션의 정의는 ACID 특성을 가지고 있습니다. ACID 원자성(Atomicity) : 트랜잭션이 전부 성공하거나, 전부 실패해야한다는 것으로 부분적으로 실행이 되면..

카테고리 없음 2021.08.25

SQL 기초 및 활용

SQL이란 데이터베이스 용 프로그래밍 언어이며, 한마디로 데에티베이스에 쿼리(질의문)를 통해 원하는 데이터를 가져올 수 있게 합니다. 하나의 언어인 SQL 혹은 Structured Query Language은 데이터베이스 언어의 기준으로 주로 관계형 데이터베이스에서 사용이 됩니다. SQL은 구조화된 쿼리 언어라고 볼 수 있습니다. 쿼리란 ? 쿼리란 질의문이며, 엑셀에서 필터를 걸어 원하는 데이터만 볼 수 있는 것처럼, 쿼리도 그러한 역할을 하고 있다고 보면 되겠습니다. 다만 엑셀처럼 GUI형식이 아닌 CLI와 같이 명령문을 내려 검색해야 한다는 차이점이 있습니다. SQL의 종류 데이터 정의어 (Data Definition Language) 데이터를 정의할 때 사용되는 언어로, 예를 들어 테이블을 만들 때..

SQL 2021.08.24

부분의존도 그래프(PDP)와 Shap value plots를 통한 모델 해석

모델해석 모델을 통해 결과를 해석하는 것은 분석 과정에서 매우 중요합니다. 이를 위해, 방법론적인 측면과 배경지식(도메인)이 중요합니다. 하지만 전문분야는 각기 다르기때문에 방법론적인 측면에서 해석하는 Python 라이브러리를 알아보고자 합니다. PDP(부분의존도그래프) PDP(Partial Dependence Plot)란 예측모델을 만들었을 때, 어떤 특성(feature)이 예측모델의 타겟변수(Target variable)에 얼마나 영향을 주는지 알 수 있는 그래프입니다. PDP는 회귀와 분류 모두 사용가능합니다. PDP with Python from category_encoders import OrdinalEncoder from sklearn.linear_model import LinearRegres..

머신러닝 2021.08.19

앙상블 기법과 속성 중요도 ( Feature Importances )

앙상블 앙상블은 말그대로, 여러 가지를 하나로 조화하는 것을 뜻합니다. 그래서 이러한 개념을 머신러닝 모델 구축에 활용하여, 여러 모델을 만든 후 모델을 합쳐 성능을 보완하는 방법론을 말합니다. 앙상블 방법론 - 배깅(Bagging) Bagging은 말그대로 Bootstrap Aggregation의 약자로 부트스트랩 셋을 여러개 단위로 뽑아, 학습하여 모델을 구축합니다. 그래서 각 각 나온 결과 값을 집계, 혹은 결합하여 최종 결과 값을 구합니다. 이때 범주형 데이터의 경우 최빈 값(Voting)방식으로 결과를 구하며, 연속형 데이터의 경우 평균으로 집계합니다. 이러한 배깅 방법을 사용하는 모델이 랜덤포레스트(Randomforest)기법입니다. 앙상블 방법론 - 부스팅 부스팅은 가중치(Weight)를 활..

머신러닝 2021.08.17

데이터 랭글링( Data Wrangling )

데이터 랭글링이란 분석을 하거나 모델을 만들기 전에 데이터를 사용하기 쉽게 변형하거나 맵핑하는 과정입니다. 데이터 랭글린의 단계 데이터 수집 ( Gather ) : 데이터를 얻는 방법, 즉 다운로드와, 웹 스크레이핑, API등이 있습니다. 이를 통해 보유한 데이터가 어떠한 정보들을 포함하고 있는지, 어떠한 내용을 분석할 것인지를 판단합니다. 데이터 확인 ( Access) : 데이터가 분석하기 위한 조건에 합당한지, 합당하지 않다면 원자료(raw data)들을 계산이 쉽도록 일정 규격에 맞추어 변환 Completeness(널값), Validity(제약조건), Accuracy(정확성), Consistency(데이터 포맷)을 체크 Tidy Data가 아닌 경우, 구조화 데이터 전처리 ( Data Process..

카테고리 없음 2021.08.17

회귀, 분류 모델을 위한 데이터 변환

클래스 설정 및 누수(leakage) 확인 우리가 맞추고자하는 타겟(종속변수)을 어떤 것으로 분석 할지 즉 이진분류, 다클래스 분류, 회귀분석를 타겟과 목적에 맞춰 잘 선정해야합니다. 정보의 누수란, 타겟변수외 예측 시점에 사용할 수 없는 데이터가 포함되어 학습이 이루어지는 경우 혹은 훈련과 검증데이터를 완전히 분리하지 못하는 경우 즉, 정답에 정보가 어떤 형태로 유출되는 경우를 말합니다. 그래서 정보의 누수가 있을 경우(클래스와 직접적인 관련이 있는 정보) 해당 속성을 제거하는 등 정보 누수에 대한 관리를 해야합니다. 문제에 적합한 평가지표 선택 분류문제의 경우 Accuracy, ROC, AUC, F1-score분류 문제할 때 클래스가 불균형 할 때, 모델 내 class_weight = 'balance..

머신러닝 2021.08.15