분류 전체보기 (247) 썸네일형 리스트형 [git] git add, commit, push 취소하는 방법 git을 통해서 프로젝트 버전 관리를 하는 도중에 실수로 push를 진행해서 remote repository (github)에 업데이트 되었다. 이를 취소하기 위해서 git push 등을 통해 repository에 업데이트 된 내용들을 취소하는 방법을 찾아보았다. 1. git add 취소하기 git add [file name] 명령어를 사용하는 경우 파일의 변경사항이 local의 index에 staging 상태로 올라가게 된다. 이때 reset 명령어를 사용해서 unstaging 상태로 원복할 수 있다. $ git reset HEAD [file name] 입력된 file name에 대해서 staging 되어있는 변경사항이 unstaging 된다. file name을 따로 입력하지 않는 경우에는 현재 st.. [Python] 프로젝트 패키징 & 배포 패키징이란? 패키징이란 모듈별로 생성한 실행 파일들을 하나로 합쳐서 배포 및 설치가 가능한 파일을 만드는 것이다. 파일을 패키징하는 이유는 다른 환경에 소프트웨어를 배포하기 위함이기에 다음과 같은 질문에 대해서 고려하여 패키징을 진행해야한다. - 소프트웨어를 사용할 사람이 누가 될 것인가? 패키징한 소프트웨어를 누가 설치할 것인가? - 소프트웨어가 어떤 환경에 배포되고 실행될 것인가? (서버, 데스크탑, 모바일 등등) - 소프트웨어는 독립적으로 설치가 될 것인가, 아니면 다른 배포 시스템에 연계되어서 설치될 것인가? 패키징한 파일을 배포할 환경에 대한 다양한 요인들에 대해서 고려해서 패키징을 진행해야한다. Python packaging 1. metadata 설정 1-1. setup.py 설정 setup... 테스트 주도 개발 TDD와 BDD, DDD TDD (Test-Driven Development) ■ TDD 방법론이란? TDD 방법론은 짧은 개발 서클을 반복하는 소프트웨어 개발 프로세스로 프로그램의 소스코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 순서로 개발을 진행하도록 한다. 요구사항에 해당하는 테스트 케이스를 작성하고 이를 통과할 수 있는 짧은 코드를 작성한다. 그리고 이 코드를 리팩토링하는 과정을 반복하여 프로그래밍을 진행한다. TDD 방법론은 개발자가 새로운 기능에 대한 테스트 케이스를 먼저 작성하는 것이 더 좋은 소프트웨어를 만들어내고 프로젝트를 보다 빠르게 완료할 수 있지 않을까라는 생각에서 생각에서 비롯되었다. 이는 기존의 product 코드를 먼저 작성하는 이를 테스트 했던 것과는 다른 접근이다. 기존에는 새로운 기능을 추.. [Python] 객체 LifeCycle과 Garbage Collection (Reference Counts) ■ 객체의 생명주기 (Object LifeCycle) - 객체의 생성부터 파괴, 해제까지의 기간 1) Allocating memory space 2) Binding or associating methods 3) Initialization 4) Destruction ■ 파이썬의 생명주기 1) Definition - Python Interpreter에서 class를 정의한다. 2) Initialization - __init__ 함수를 호출해서 새로운 instance를 생성하여 메모리를 할당하고 초기화한다. - __new__ 함수가 overriding 된 경우,instance 생성시에 __new__ 함수도 호출한다. 3) Access and manipulation - 객체를 사용한다. 4) Destructio.. Ch4. 모델 훈련(4.6) 4.6 로지스틱 회귀 ■ 로지스틱 회귀 - 샘플이 특정 클래스에 속할 확률을 추정하는 데 사용된다. - 추정 확률이 50%를 넘으면 1, 아니면 0으로 판단하는 이진 분류기 4.6.1 확률 추정 - 로지스틱 회귀 모델은 입력 특성의 가중치 합을 계산한 후, 바로 결과를 출력하는 것이 아니라 로지스틱을 출력한다. ■ 로지스틱, Logistic - 0과 1사이의 값을 출력하는 시그모이드 함수 - 로지스틱 모델의 결과 p를 기준 0.5와 비교하여 예측값 y를 구해낼 수 있다. 4.6.2 훈련과 비용 함수 ■ 로지스틱 회귀 모델 훈련 - 양성 샘플(y = 1)에 대해서는 높은 확률을, 음성 샘플(y = 0)에 대해서는 낮은 확률을 추정하는 파라미터 벡터 θ를 찾도록 한다. - 로지스틱 회귀의 비용함수 • 하나의.. Ch4. 모델 훈련(4.3~4.5) 4.3 다항 회귀 ■ 다항회귀, Polynomial Regression - 선형 모델을 통해서 비선형 데이터를 학습 - 각 특성의 거듭제곱을 새로운 특성으로 추가하고 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시킨다. - 이차방정식의 예제 • 방정식의 차수에 맞춰서 데이터 셋 변형 (polynomial features를 통해서 제곱 특성 추가) • linear regression으로 학습하여 예측 - intercept_, coef_ 확인 4.4 학습 곡선 - 고차 다항 회귀를 적용한다면 훨씬 더 훈련 데이터 셋에 잘 맞춰 훈련할 수 있지만 과대적합의 문제도 있다. - 과대적합, 과소적합 검증 • 교차 검증 점수 확인 • 학습곡선 확인 -> 훈련 세트에서 크기가 다른 서브세트를 만들어 모델을 여러번 .. Ch4. 모델 훈련(4.1~4.2) 4.1 선형회귀 - 선형 모델은 입력 특성의 가중치 합과 편항을 더해 예측한다. - 모델의 학습 -> 모델이 훈련 세트에 가장 잘 맞도록 모델 파라미터를 설정하는 것 - 모델의 측정 -> 평균 제곱근 오차를 사용하여 측정 (RMSE) 4.1.1 정규방정식 ■ 정규방정식 - 비용함수를 최소화하는 값을 찾기위한 방법 - • y는 y(1)부터 y(m)까지 포함하는 타깃 벡터이다. 4.2 경사 하강법 ■ 경사하강법, Gradient Descent (GD) - 비용 함수를 최소화하기 위해 반복적으로 파라미터를 조정하는 방법 - 파라미터 백터 Θ에 대한 비용 함수의 현재 gradient를 계산해서 감소하는 방향으로 진행한다. • gradient가 0이 되는 곳이 최솟값이다. - 학습률, learning rate: .. [Python] 정규 표현식 (Regular Expressions) ■ 정규표현식: 복잡한 문자열을 특수한 기호들을 사용하여 처리하는 기법 ■ 정규표현식 메타문자 ※ 메타문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. - 정규표현식에서 사용하는 메타문자들: . ^ $ * + ? { } [ ] \ | ( ) - [] • 문자클래스 • [ ] 사이의 문자들과 매치 • ex) [abc]: "a, b, c 중 한 개의 문자와 매치" • '-' 하이픈 사용: 두 문자 사이의 범위를 표현 • [a-d] == [abcd], [0-5] == [012345] • [a-zA-Z]: 알파벳 전체 • [0-9]: 숫자 • ^ 사용: not의 의미를 가지고 있다. • ex) [^0-9]: 숫자가 아닌 문자 - . (dot) • '\n'을 제외한 모든 문자 한 개와.. 이전 1 ··· 25 26 27 28 29 30 31 다음