전체 글 83

Git 활용하기(git reflog, --all, --graph, git merge vs git rebase)

git reflog: HEAD가 가리켰던 commit들의 id 확인하기, 헤드가 이때까지 가리켜왔던 커밋들을 기록한 정보(reference log의 줄임말)git log --pretty=oneline --all: 모든 브랜치의 log 기록 출력--graph: 커밋 히스토리가 각 브랜치와의 관계가 잘 드러나도록 그래프 형식으로 출력git log --pretty=oneline --all --graphgit rebase: 베이스를 다시 지정하다. 커밋을 재배치한다. -> 프리미엄 브랜치의 베이스를 테스트 브랜치로 재지정git rebase --continue: 컨플릭트가 발생해서 제대로 진행되지 못한 리베이스를 계속 진행하라.

차원 축소 알고리즘

차원의 저주: 차원이 커지면 커질수록 데이터 포인트들 간 거리가 크게 늘어나므로 데이터가 희소화(Sparse) 되기 시작함수백~수천 개 이상의 Feature로 구성된 포인트들간 거리에 기반한 머신러닝 알고리즘들이 무력화 됨또, Feature가 많을 경우, 개별 Feature간 상관관계가 높아 선형 회귀 같은 모델에선 '다중공선성 문제'로 인해 모델의 예측 성능이 저하될 가능성이 매우 높다.  차원 축소 장점학습 데이터 크기를 줄여 학습 시간을 절약할 수 있음불필요한 Feature를 줄여 모델 성능 향상에 기여할 수 있음다차원 데이터를 3차원 이하의 차원 축소를 통해 시각적으로 쉽게 데이터 패턴을 인지할 수 있음차원 축소 분류특성 선택(feature selection): 종속성이 강한 불필요한 특성은 완전..

pandas와 DataFrame

판다스란?파이썬에서 데이터 처리를 위해 존재하는 가장 인기 있는 라이브러리고수준 API 제공파이썬의 리스트, 컬렉션, 넘파이 등의 내부 데이터 외에도 CSV등의 파일을 쉽게 DataFrame으로 변경해 데이터의 가공/분석을 편리하게 수행할 수 있도록 함 핵심 객체 -> DataFrameDataFrame: Index를 key값으로 가지며  행x열 로 이뤄진 2차원 데이터를 담은 데이터 구조체, 여러개의 Series로 이뤄져있음 eg. DataFrame 생성 - 아래와 같이 딕셔너리를 넣을 수도 있고, 리스트나 NumPy array를 넣을 수도 있음dict_df = pd.DataFrame({ 'category': ['skirt', 'sweater', 'coat', 'jeans'], 'quantit..

Matplotlib 개념 및 간단 예제

Matplotlib이란?: 파이썬의 데이터 시각화 라이브러리로 다양한 종류의 시각화를 지원하며 데이터 분석과 시각화 작업에서 널리 사용된다. 주요 특징다양한 플롯 유형: 선 그래프, 막대 그래프, 산점도, 히스토그램, 파이 차트 등 여러 가지 플롯을 만들 수 있습니다.강력한 커스터마이징: 색상, 스타일, 레이블, 제목 등 그래프의 모든 요소를 세밀하게 조정할 수 있습니다.인터랙티브: Jupyter Notebook과 같은 환경에서 인터랙티브한 플롯을 만들 수 있습니다.출력 포맷: 플롯을 PNG, PDF, SVG 등 다양한 포맷으로 저장할 수 있습니다.통합: NumPy, Pandas, SciPy와 같은 다른 파이썬 라이브러리와 잘 통합됩니다.기본 함수figure() 함수의 figsize 파리미터로 그래프 ..

Numpy 개념과 특징

Numpy: 파이썬 라이브러리로써, Numerical Python 의 줄임말로 수치적인 연산에 최적화된 파이썬 도구이다.  Numpy Array: 자료형, Python List와 유사함, 간결한 코드로 구현, 메모리 및 연산 최적화장점루프를 사용하지 않고 대량 데이터의 배열 연산이 가능 -> 빠른 배열 연산 속도C/C++ 등의 저수준 언어 기반 호환 API제공 -> 기존 C/C++ 기반 외부 프로그램과 호환 용이단점가독성이 떨어짐정보에 대한 레이블 삽입 불가한 가지 데이터 타입만 사용 가능다양한 API 지원 측면이 어려움 import numpy as np # 'as np' 를 약어로 추가하여 모듈을 표현하는 것이 관례ndarray란?: 넘파이 기반 데이터 타입이며, ndarry를 이용해 넘파이에서 다차원..

회귀 알고리즘

회귀란?데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향회귀 분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법 여러 개의 독립변수(X)와 한 개의 종속변수(y) 간의 상관관계를 모델링하는 기법(*모델링은 표본)가중치 -> 회귀 계수(Regressino Coefficients)회귀 유형회귀 계수회귀 계수가 직선이면 -> 선형회귀회귀 계수가 직선이 아니면 -> 비선형로지스틱 회귀독립변수 개수회귀 계수의 결합1개단일 회귀선형선형 회귀 N개 다중 회귀비선형비선형 회귀로지스틱 회귀 회귀 모델의 목적: 전체 데이터의 잔차(오류 값) 합이 최소가 되는 모델을 만드는 것 -> 오류 값의 합이 최소가 될 수 있는 최적의 회귀 계수 w을 찾는 것!일반 선형 회귀(LinearRegre..

.gitignore - 조금 더 깔끔한 버전 관리가 필요하다면?

.gitignore 파일이란?: Git으로 프로젝트의 버전 관리를 시작할 때, .gitignore 파일에는 'working directory 안에 존재하기는 하지만 Git으로 버전을 관리하고 싶지 않은 것들'의 이름을 적어 활용할 수 있다. Add .gitignore: None 은 .gitignore파일을 생성하지 않겠다는 의미이다.  .gitignore 파일은그 플랫폼에서 실행될 프로그램을 만들거나,해당 프로그래밍 언어로 코드를 작성할 때(보통 자동으로) 생성되는 파일들중에서 굳이 Git에 의해 버전 관리될 필요가 없는, 불필요한 파일들의 이름이 정리된 .gitignore 파일을 자동으로 생성해준다.단어의미*.py[cod] .pyc 또는 .pyo 또는 pyd로 끝나는 파일명*$py.class $py...

git stash - 작업 내용 임시 저장하기

git stash*stash: 안전한 곳에 보관하다, 넣어두다git stach 실행 시, 최근 커밋 이후로 작업했던 내용은 모두 stack(어떤 데이터를 저장하는 구조) 에 옮겨지고, working directory 내부는 다시 최근 커밋의 상태로 초기화된다. git stash # 현재 directory 작업 내용을 stack에 저장(=작업 내용 저장)git stash list # stack에 저장된 내용을 확인(=작업 내용 조회)git stash apply [작업 내용의 아이디] # stack에 있는 내용을 다시 working directory로 가져와서 적용(=작업 내용 적용)git stash drop [작업 내용의 아이디] # 해당 stash를 삭제(=작업 내용 제거), [작업 내용의 아이디]를 생..