전체 글84 혼자 공부하는 머신러닝+딥러닝 4장 4장 다양한 분류 알고리즘 4-1 로지스틱 회귀 로지스틱 회귀 ( logistic regression ) 회귀로 연속적인 결과를 시그모이드 함수로 표준화시켜서 특정값을 기준으로 나누어서 “분류"하는 것 선형 회귀와 동일하게 선형 방정식을 학습 z = a x ( weight ) + b x ( length ) + c x ( diagonal ) + d x ( height ) + e x ( width ) + f a, b, c, d, e 는 가중치/계수 z 는 0~ 1( 0% ~ 100%) 결과값 z를 그대로 사용하면 회귀가 되기 때문에 0~1 범위의 값으로 압축해 확률을 표현 z 값 압축에 사용되는 함수를 시그모이드 함수(=로지스틱 함수) import numpy as np import matlotlib.pypl.. 2023. 10. 4. SQL 레벨업 - 4장 4장 집약과 자르기 12강 집약 집약함수(aggregate function) : 여러 개의 레코드를 한 개의 레코드로 집약하는 기능 ex) COUNT , SUM, AVG, MAX, MIN 1. 여러 개의 레코드를 한 개의 레코드로 집약 한 사람과 관련된 정보가 여러 개의 레코드에 분산되어 있는 테이블은, 한 사람의 정보에 접근할 때 'WHERE id = 'jim''과 같은 SELECT 구문을 사용할 때 당연히 3개의 레코드가 선택. 하지만 한 개의 레코드로 얻는 것이 편함 SELECT ID, DATA_1, DATA_2 FROM NonAggTbl WHERE ID = 'JIM' AND DATA_TYPE = 'A'; SELECT ID, DATA_3, DATA_4 FROM NonAggTbl WHERE ID = .. 2023. 9. 25. SQL 레벨업 - 3장 SQL의 조건 분기 8강 UNION을 사용한 쓸데없이 긴 표현 조건 분기 :where구만 조금씩 다른 여러 개의 SELECT 구문을 합쳐서, 복수의 조건에 일치하는 하나의 결과 집합을 얻고싶을 때 -> 여러 개의 SELECT 구문을 실행하는 실행 계획으로 해석되어 테이블에 접근 횟수가 많아져 I/O 비용이 늘어남 union 예제 - 2001년 이전과 2002년 이후를 구분해서 가격을 선택해야함 SELECT item, year,price_ex as price FROM ITEMS WHERE year = 2002; ->거의 같은 두 개의 쿼리를 두 번이나 실행하여 길고, 오래걸림 SELECT item,year, CASE WHEN year = 2002 THEN price_in END AS price FROM I.. 2023. 9. 19. SQL 레벨업 - 2주차 6강 select 구문 select : 검색을 위해 사용하는 SQL where 구 : 다양한 조건 지정이 가능 연산자 의미 = 와 같음 와 같지 않음 >= 이상 > 보다 큼 2023. 9. 16. 혼자 공부하는 머신러닝 + 딥러닝 2장 2-2 데이터 전처리 numpy(넘파이) : 배열 라이브러리 import numpy as np #넘파이 라이브러리 임포트 - column_stack() : 전달 받은 리스트를 일렬로 세운 다음 차례대로 나란히 연결 후 tuple(튜플)로 전달 - np.ones() / np.zeros() : 각각 원하는 개수의 1,0을 채운 배열을 만들어줌 -np.concatenate() : 첫 번째 차원을 따라 배열을 연결하는 함수 >> 데이터가 클수록 파이썬 리스트는 비효율적이므로 넘파이 배열을 사용하는 게 좋음 사이킷런 : 머시러닝 모델을 위한 알고리즘뿐만 아니라 다양한 유틸리티 도구 제공 - train_test_split() : 전달되는 리스트나 배열을 비율에 맞게 훈련세트와 테스트 세트로 나눔 from sklea.. 2023. 9. 14. 1주차-SQL 레벨업 1장 DBMS 아키텍처 버퍼매니저 : 특별한 용도로 사용하는 메모리 영역(버퍼) 관리 디스크 용량 매니저 : 데이터의 저장 위치와 방법을 관리하고 읽고 쓰기를 제어 트랜잭션 매니저와 락 매니저: 트랜잭션의 정합성을 유지하면서 실행시키고, 데이터에 락을 걸어 다른 요청을 대기 *트랜잭션: 데이터베이스에 접근하는 각각의 처리는 DBMS내부에의 단위 리커버리 매니저: 시스템 장애를 대비하여, 데이터를 정기적으로 백업, 문제 발생 시 복구하는 역할 수행 DBMS 와 기억장치 하드디스크 DBMS가 데이터를 저장하는 매체의 대부분이 하드디스크임 어떤 상황에서도 평균적인 수치를 가지는 매체 메모리 데이터베이스 내부 데이터를 모두 메모리에 올리는 것은 불가능 버퍼 성능 향상을 위해 데이터를 버퍼/캐시에 올림 자주 접근하는 .. 2023. 9. 9. c++ - 11주차 그리지 알고리즘 - 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘 수행과정 1. 해 선택 : 현재 상태에서 가장 최선이라고 생각되는 해를 선택 2. 적절성 검사 : 현재 선택한 해가 전체 문제의 제약 조건에 벗어나지 않는지 검사 3. 해 검사 : 현재까지 선택한 해 집합이 전체 문제를 해결할 수 있는지 검사. 전체 문제 해결 못하면 다시 1. 으로 돌아감 예제 ) 1931. 회의실 배정 #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector A(N); for (int i = 0; i .. 2023. 5. 22. GIT/GITHUB - 10주차 깃허브 클라우드 개발 코드 스페이스를 통해 설정 완료 깃허브 데브 : 웹 브라우저에서 VS code 로 저장소의 소스를 수정할 수도 있고, 다시 푸시도 가능 깃허브 데브에 접근하는 방법 1. 저장소에서 마침표 눌러 접근하기 2. 주소를 입력해 깃허브 데브에 직접 접속하기 http:// github.dev/깃허브계정/저장소명 코파일럿 : AI에 기반한 소스 추천 서비스 -60일간 무료 가용 가능 깃허브에 올라와 있는 많은 소스를 분석하고 이해하고, 주석을 달명 소스코드로 변환 2023. 5. 20. 백엔드 - 기능 정의 계획 기능 정의 계획 Q&A 게시판 정보 공유 게시판(좋은 글 추천/공모전, 각종 대회, 부트캠프 등 추천) 팀원 모집 게시판(스터디, 프로젝트, 공모전, 학교 컴퓨터공학 과목 팀플 등) 요수사항 ID 요구사항명 기능 ID 기능명 상세설명 필수 데이터 선택 데이터 Q & A 게시판 글쓰기 기능 게시판 글을 쓸 수 있도록 함 글 제목, 글 내용 익명 선택 글 목록 보기 기능 게시판 글 목록을 볼 수 있도록 이동 모든 게시물 글 내용보기 기능 글 목록에서 게시물을 선택하면 내용을 볼 수 있도록 이동 글 제목, 글 내용 게시글 수정 기능 게시물 작성 후 수정할 수 있도록 함 해당 글 제목, 내용 게시글 삭제 기능 게시물 작성 후 삭제 할 수 있도록 함 해당 글 제목, 내용 댓글 쓰기 기능 댓글 작성 할 수 있도록 .. 2023. 5. 19. C++ - 10주차 DFS ( 깊이 우선 탐색) - 재귀 함수로 구현 ( 스택 오버플로우에 유의해야함) - 스택 자료구조 이용 - 시간 복잡도 O(V+E) - 단절점 찾기 , 단절선 찾기 , 사이클 찾기 , 위상 정렬 -> 인접 리스트: 한 번 방문한 노드를 다시 방문하면 안됨. -> 스택 : 후입선출 특성을 가짐 1. DFS를 시작할 노드를 정한 후 사용할 자료구조 초기화 인접 리스트로 그래프 표현하기, 방문 배열 초기화 하기, 시작 노드 스택에 삽입하기 2. 스택에서 노드를 꺼낸 후 꺼낸 노드의인접 노드를 다시 스택에 삽입하기 pop을 수행해 노드를 꺼냄 . 꺼낸 노드의 인접 리스트의 인접 노드를 스택에 삽입해 배열 체크. 3. 스택 값이 없을 때 까지 반복하기 BFS ( 너비 우선 탐색) - 시작노드 기준으로 가까운 .. 2023. 5. 15. GIT/GITHUB - 9주차 지역저장소로 fork한 모습이다. 내 vs code 에 clone을 한 모습이다 resume 폴더에 html 파일을 열었다 나만의 이력서로 수정하기 위해 html 파일을 수정하고 commit을 하는 모습이다 설정에서 pages 를 통해 깃허브 페이지를 바로 페이지로 설정했다 2023. 5. 13. 백준 2751번 - c++ S[i] = stoi(A.substr(i,1)); // 문자열 받아서 1자리씩 배열에 저장 수 정렬하기 퀵 정렬을 이용하여 정렬하는 방법을 생각했음. 하지만 시간 초과... #include using namespace std; int arr[1000001]; void quickSort(int arr[], int left, int right) { int i = left, j = right; int tmp; int pivot = arr[(left + right) / 2]; // Partition while (i pivot) j--; if (i > N; if (N 1000000) { return 0; } for (int i = 0; i > arr[i]; } // .. 2023. 5. 9. Spring 12.2-12.3 보호되어 있는 글 입니다. 2023. 5. 9. 백준 10824번 c++ 처음에는 A , B, C, D 를 string 값으로 입력 받아서 문자열을 합하고 문자열을 int형으로 변환하여 출력하는 방식을 생각했다. 그래서 문자열을 합칠 수 있도록 을 이용하는 방법을 택하였다. #include #include #include using namespace std; int main() { string A, B, C, D; string ab; string cd; int sum1; int sum2; stringstream ss; stringstream SS; cin >> A >> B >> C >> D; /*ab = A + B; cd = C + D;*/ ss > C >> D; /*ab = A + B; cd = C + D;*/ string SUM1 = A + B; string SUM2= C.. 2023. 5. 9. GIT/GITHUB - 8주차 vs code랑 git이랑 연결하는 거에 대해 배웠다. 현재 내가 만든 파일 명이고 내가 만든 원격 저장소 이다 . vscode 에서 work.txt 를 생성을 한뒤 소스 제어창에서 푸시를 하게 되면 이런식으로 원격 저장소에 올라가게 된다 파일을 작업하고 저장하게 된다면 변경사항에 파일이 올라가있는 걸 확인 할 수 있다 . 스테이징 하기 위해 '+' 버튼 을 눌러서 스테이징을 완료하고 커밋을 하면 자동으로 원격저장소에 올라가게 되는 것을 확인 할 수 있다. 새로운 브랜치를 생성하여 작업을 해도 원격 저장소에 적용이 되는 것을 보고 편리하다는 생각이 들었다. 2023. 5. 6. 이전 1 2 3 4 5 6 다음