#init #commit #checkout #push #clone #pull 기본 명령어 - 단독으로 사용하면 명령어의 옵션들을 확인할 수 있다. git 로컬저장소 생성하기 (초기화) - 로컬 프로젝트 최상위 디렉터리 안에서 실행 시, 로컬 저장소를 생성한다. - 명령어가 실행되고 나면 해당 디렉터리에 .git 폴더가 생성된 것을 확인할 수 있다. git init 계정 정보 설정하기 - 해당 git 프로젝트의 계정 정보를 설정한다. - 로컬 테스트로만 사용할 경우, 임의 정보를 입력해도 무방하지만, 원격저장소와 연동할 경우, github 계정 정보를 기입해야 한다. git config --global user.email "[이메일계정]" git config --global user.name "[계정명]"..
의사결정트리 (Decision Tree) 분류 문제(범주형 데이터 예측)에 사용 불확실성(uncertainty) 또는 불순도(impurity)가 크게 줄어들도록 학습 장점 상대적으로 이해가 쉽고 빠름 자료 가공이 대체로 불필요함 단점 연속형 데이터 예측이 어려움 모형이 복잡하면 예측률이 떨어짐 불순도 평가 방법 3가지 엔트로피 지니계수 카이제곱스퀘어 불순도 평가 방법 3가지 엔트로피(Entropy) 무질서도 필요한 모든 bit 수를 평균한 값 엔트로피가 작을수록 좋음(불순도 낮음) 불순도 희석 방향으로 데이터 나눔 log 사용으로 속도가 느림 지니계수(Gini Index) 1 - (랜덤한 특정 레코드가 같은 범주에 포함될 확률) 지니계수가 작을수록 좋음(불순도 낮음) 엔트로피 보다 속도 빠름 카이제곱스퀘..
Object클래스의 메서드 equals(Object obj) 두 객체의 같고 다름을 참조변수의 값으로 비교하는 메서드 서로 다른 두 객체를 비교하면 return false String클래스에서는 equals메서드를 오버라이딩 → 문자열 값 비교 결과 반환 hashCode() 객체의 주소값을 이용해서 해시코드를 만들어 반환 다른 객체는 같은 해시코드를 가질 수 없음 String클래스에서는 hashCode메서드를 오버라이딩 → 문자열이 같으면 동일 해쉬코드 반환 clone() 객체에 저장된 값을 복제 → 기본형이 아닌 경우 주소값을 복제하므로 원본가 복제본이 동일 → 얕은복사(shallow copy) c.f. 원본이 참조하는 객체까지 복제 → 깊은복사(deep copy) String클래스 immutable ..
머신러닝(Machine Learning) 기계가 스스로 데이터의 유의미한 패턴과 통계적인 함수를 발견하여 지식을 얻는 것을 말한다. 머신러닝의 분류 회귀 입력데이터를 바탕으로 원하는 타겟변수의 미래결과 예측 주식시장 예측, 백화점 수요예측 등 분류 입력데이터를 바탕으로 개별 데이터의 클래스 구분 스팸 필터링, 신용카드 사기 탐지, 제조 결함 탐지 등 추천 고객이 선호하는 상품 또는 대안 예측 유튜브 선호 영상 추천, 홈쇼핑 상품 추천 등 대체 입력데이터의 누락값 보완 불완전한 환자 의료 데이터 기록 보완, 인구조사 자료 보충 등 머신러닝의 방법론 지도학습 (Supervised Learning) 훈련 데이터 안에 예측해야 할 target이 있는 경우에 사용되는 방법론 비지도학습 (Unsupervised L..
구현 기준 가로(20) X 세로(20)인 2차원 배열을 생성하고 동그라미(O)로 초기화한다. 첫 번째 입력받은 수만큼 좌표를 입력받는다. 그 후 입력받은 각 좌표에 해당하는 동그라미를 엑스(X)로 바꾼다. 해당 2차원 배열을 출력한다. 소스 코드 n = int(input()) arr = [['O']*20 for _ in range(20)] for i in range(n) : x,y = input().split() arr[int(x)][int(y)] = 'X' print('\n'.join([' '.join([str(i) for i in row]) for row in arr])) 입력 예시 5 1 2 3 3 5 7 9 10 15 8 출력 결과 O O O O O O O O O O O O O O O O O O ..
등차수열, 등비수열을 구현하고자 한다. 각 수열의 개념과 구현 방법은 아래와 같다. 등차수열 (Arithmetical Series) : 연속한 두 항의 차가 일정한 수열 방법 1) a,d,n = input().split() a = int(a)# 시작값 d = int(d)# 등차값 n = int(n)# 구하고자 하는 숫자의 순서 print(a + d * (n-1)) 방법 2) a,d,n = input().split() a = int(a)# 시작값 d = int(d)# 등차값 n = int(n)# 구하고자 하는 숫자의 순서 s = a for i in range(2, n+1): s += d print(s) 입력 예시 1 3 5 출력 결과 13 등비수열 (Geometric Series) : 연속한 두 항의 비가..
369게임을 구현하고자 한다. 구현 기준과 출력 예시는 아래와 같다. 구현 기준 정수 n을 입력받는다. 1부터 입력받은 정수 n까지 한칸씩 띄어 순서대로 출력하되, 3, 6, 9가 포함된 경우 박수(X)를 친다. 3, 6, 9가 여러 개 포함된 숫자의 경우, 포함된 숫자만큼 박수를 친다. 출력 예시 13 차례일 때, 출력 : X 39 차례일 때, 출력 : XX 소스 코드 및 해설 # https://the-dev.tistory.com/69 # 입력받은 값을 매개변수 n에 정수로 할당한다. n = int(input("Input number: ")) # 1부터 n까지 반복한다. for i in range(1, n+1) : # i번재 숫자를 문자로 변환한다. s = str(i) # i번째 숫자가 3,6,9를 몇..
상속관계 vs 포함관계 상속관계 : is-a (A truck is a car.) class Truck extends Car { // ... } 포함관계 : has-a (A truck has a wheel.) → 멤버로 갖는다. class Car { int wheel = 4; // ... } 오버라이딩 vs 오버로딩 오버라이딩 (overriding) 조상으로부터 상속받은 메서드의 내용을 변경하는 것이다. 조상보다 좁은 범위의 접근제어나 예외선언 불가능하다. 오버로딩 (overloading) 매개변수의 수나 타입을 다르게하여, 기존에 없는 새로운 메서드를 정의하는 것이다. 상속 (inheritance) 자바는 단일상속만 가능하다. 복잡한 기능의 클래스 작성은 쉽지 않다. 클래스 간 관계가 명확하고, 코드의 ..