728x90 반응형 분류 전체보기154 [Ai, Python] 다중 분류 KNN을 이용한 multi class classification 1. multi-class-classification 앞선 포스팅에서 분류 모델의 경우 모두 2개의 집합 중 하나의 집합으로 새로운 데이터를 예측하는 작업을 했다면 이번에는 KNN을 사용하여 여러 개의 집합 중 하나로 예측하는 작업을 해볼 것이다. 예를 들면 이 동물이 개냐 고양이냐 만을 분류하는 것이 아니라 이 동물이 개냐 고양이냐 개구리냐 너구리냐 등과 같이 다양한 집합이 존재하는 것이다. 2. multi-class-classification의 구현 1. 데이터 전처리 다중 분류를 수행하기 위해서 python의 데이터 분석 라이브러리의 바이블 pandas라이브러리를 사용하겠다. pip install pandas import pandas as pd fish = pd.read_csv('https://bi.. 파이썬/ai 2022. 4. 11. [Ai, Python] Linear Regression- 4 1. 선형 회귀 앞서도 계속 학교의 ai수업 중간고사를 준비하기 위해 수업의 내용을 정리하고 첨언하는 식으로 포스팅을 계속해가고 있다. 이번에 살펴볼 것은 Linear Regression학습 모델인데 여태까지 KNN이나 KNR처럼 자신의 주변의 사례들을 기반으로 새로운 데이터의 값을 예측하는 것은 사례기반 학습 LinearRegression처럼 기존의 데이터로 부터 함수를 만들어낸 뒤 그 함수를 통해 새로운 데이터의 값을 예측하는 것을 모델 학습이라고 한다. 앞선 포스팅에서 설명했듯이 LinearRegression은 그 모델 중 하나의 변수만을 고려하기 때문에 일차 함수의 형태를 띄고 우리는 여기서 y = ax + b에서 적절한 a와 b를 찾아내는 것이 목적이다. 이 a와 b를 모델 파라미터라고 한다. .. 파이썬/ai 2022. 4. 11. [Ai, python]KNN - Linear Regression3 1. Linear Regression 앞선 포스팅까지 행했던 것은 classification 즉 분류였다. 미리 몇 개의 집합을 설정해두고 데이터들에 대한 집합 정답지를 알려준 뒤 새로 들어온 데이터가 어떤 집합과 가까운 지 거리를 파악하고 가장 거리가 가까운 집합으로 분류를 하는 작업이었다. 하지만 이제 할 것은 Regression 즉 회귀이다. Regression이란 어떠한 데이터들을 학습시켜 새로운 데이터가 들어왔을 데이터에 대한 어떠한 값을 예측하는 문제를 말한다. 예를 들어 최근 10년간의 서울의 집 값 데이터를 모델에게 학습시킨 후 앞으로 1년 뒤의 서울의 집 값은 어떻게 되겠는가?라는 질문을 던졌을 때 예측치를 내놓는 것이 Regression이다. Regression 문제를 수행함에 있어 서.. 파이썬/ai 2022. 4. 11. [ai, python]KNN에서의 overFitting UnderFitting 1. KNN에 대한 overview 나는 지난번과 동일하게 kneighbors nearest라는 모델을 사용해서 학습을 시키고 있다. 사실 ai모델이라는 것은 거창한 것이 아니라 그저 수학적 모델을 기반으로 더 많은 데이터와 더 많은 예외 사항을 컴퓨터에게 알려주어 컴퓨터에게 다음부터는 이것도 고려해서 결과를 내! 라고 알려주는 일련의 과정이다. 그 중 내가 지금 사용하는 KNN이라는 모델은 아주 간단한 모델인데 쉽게 말해 모든 데이터들을 그래프 평면 상에 그렸을 때 나와 가장 가까운 점들에 의해 나의 집합이 결정된다는 것이다. 예시를 들면 다음과 같은 그래프에서 주황색 세모와 가장 가까운 점들은 초록 마름모 점들이다. 이 때 가장 가까운 점들의 개수, 즉 몇 개의 이웃을 우리는 고려할 것인가는 우리가 .. 파이썬/ai 2022. 4. 11. 백준-4659 비밀번호 발음하기 문제는 다음과 같다. 이 때 문제에서 고려할 것은 3가지이다. 모음이나 자음이 3번 연속으로 오면 안된다. e나 o를 제외한 같은 글자가 2번 연속으로 오면 안된다. 모음(a, e, i, o, u)을 하나 이상 포함해야 한다 나의 코드는 아래와 같다. #include #include #include #include using namespace std; string password = ""; bool vowel = 0; bool seq = 0; int vow = 0; int con = 0; stack charStack; bool isVowel(char a) { if (a == 97 || a == 101 || a == 105 || a == 111 || a == 117) return true; else ret.. c++/알고리즘 2022. 4. 6. [Ai,Python] K-nearest neighbor-1(데이터 전처리 및 모델 학습) 우리가 흔히 아는 딥러닝이라고 하는 것은 많은 데이터를 컴퓨터에게 집어 넣어 미래의 예측 값을 보다 정확하게 추론해내는 일종의 통계학이다. 그러러면 우리는 일단 컴퓨터를 학습시킬 많은 데이터들을 필요로 하는데 우리의 생활 속에서 발생하는 데이터들은 일정한 형식의 format을 가지고 있지도 않고 매우 불규칙하게 생기고 발생한다. 그래서 우리는 엑셀, DBMS와 같이 데이터들을 관리하는 툴에서 데이터들을 추출해 컴퓨터에게 학습시키기 쉬운 형태의 데이터 형태로 바꿔주는 파이썬의 라이브러리들을 이용할 것이다. 다음과 같은 데이터 셋이 존재한다고 하자 우리는 두 가지 물고기의 길이와 무게 정보를 이용해서 새로운 물고기의 길이와 무게 정보가 들어왔을 때 이 물고기가 두 물고기 중 어떤 물고기인지 판별하는 프로그램.. 파이썬/ai 2022. 4. 5. [React] 파일 업로드 기능 구현 React를 통해 파일 업로드 기능을 구현하기 위해 우리는 미리 알아야할 지식이 있다. 첫 번째는 이미지와 비디오, 오디오 파일과 같은 파일이 어떻게 이루어져 있는 지를 알아야한다. 두 번째는 input태그의 type이 file일 때 미리보기 기능의 경우 올린 파일의 URL객체의 createObjectURL메소드를 이용하는 것이다. 세 번째는 React의 useRef훅을 사용해 직접적으로 HTML요소의 레퍼런스 값에 접근하는 법이다. 1. BLOB이란? 우리가 웹에서 객체를 다룰 때 흔히 json이라는 형식의 key, value쌍으로 이루어진 형식으로 다루게 된다. 하지만 파일이나 영상 이미지와 같이 용량이 큰 파일은 어떻게 다룰 것인가? 우리는 웹에서 이렇게 멀티미디어 데이터를 다룰 때 Blob이라는 .. front-end/react 2022. 4. 5. [SQLD] 합격 후기 K 데이터 자격 검정에서 주관하는 SQLD 시험에 합격했다. 사실 나는 데이터베이스 수업을 듣고 시험을 본 것이라 매우 쉽게 쉽게 준비했지만 ㅎㅎ... 나는 프론트엔드 쪽에 관심이 많지만 프론트엔드 개발자는 당연하게도 백엔드 개발자와 협업하는 과정이 많다. 대표적으로 API를 연결하는 과정에서 authentification문제나 인증 토큰을 기능별로 config에 추가할 것인지 또는 데이터 구조를 어떻게 만들 것인지에 대해 논의하는 경우가 많았다. 따라서 기본적으로 sql query문이 어떤 방식으로 작동하는지 데이터 베이스는 어떻게 구성되는지는 알아두는 것이 좋다. 나는 2022년 03월 12일날 치는 제 44회 sqld 시험에 응시했는데 사실 개강을 한 후라 이 날이 시험인지 까먹고 있다가 부랴부랴 .. 일상 2022. 4. 2. [Git, SSH] 깃허브 organization 코드 올리기 - SSH키 등록 1. SSH 키란? ssh키란 비대칭 키로써 서로 다른 한 쌍의 암호키를 갖는다. 하나는 public key로써 외부에 공개하는 키이고 다른 하나는 private key로써 내 로컬환경에 가지고 있어야하는 키이다. 그러면 외부 서비스에 공개된 나의 public key를 통해 업체나 서비스에서 나를 인증하게 되고 요청을 보내면 나의 로컬에서는 private key와 비교를 해본 후 키가 서로 맞다면 ok사인을 보내 접근할 수 있도록 허용한다. ssh키에 대한 더 깊은 지식은 따로 포스팅을 하도록 하겠다. 2. SSH키 생성방법 그럼 이 ssh키를 어떻게 생성해야하는가? 간단하다. 깃허브에 이미 계정이 있고 계정에 해당하는 이메일을 안다는 가정하에 * ssh-keygen -t rsa ssh-keygen -t.. 협업 툴(git, source tree) 2022. 3. 31. 깃허브 organization 코드 등록하기 -1 1. organization 이사 학교에서 담당하고 있는 어플리케이션 코드를 git flow를 이용하여 관리하기 위해서 organization을 만들어 팀으로 관리하기로 했다. 원래도 organization이 존재했지만 그 담당자 분께서 나에게 write권한과 git fork를 할 수 있는 권한을 주시지 않고 퇴사를 하시는 바람에 organization 이사가 불가피해졌다. 따라서 나는 원래 organization에 존재하던 코드를 clone해서 내 로컬 환경에 저장한 후 ssh키를 깃허브에 등록하고 내 로컬에 존재하던 코드를 새로운 organization을 만들어 그곳에 올리기로 하였다. 1. new organization 클릭 새로운 organization을 만드는 것은 어렵지 않다. 2. 요금제를 .. 협업 툴(git, source tree) 2022. 3. 31. [C++] odd-Even Transposition Sort odd -even transposition Sort란? 홀 수인덱스 차례에는 홀수 인덱스와 홀수 인덱스 +1이 짝수 인덱스 차례에는 짝수 인덱스와 짝수 인덱스 + 1이 같은 실행 타임에 정렬한 후 합치는 과정이다. 그림으로 나타내면 다음과 같다. GPU를 이용해 병렬 처리가 가능한 경우 여러 개의 task를 나누어 그 나눈 task들을 한 번에 처리함으로써 sorting을 더 빠르게 처리할 수 있다. 하지만 cpu는 한 번에 하나의 task밖에 처리하지 못하니 병렬 처리를 하기 위해서는 GPU를 사용해야하는데 cpu에서도 병렬 처리처럼 보이게 프로그래밍을 할 수 있다. 바로 thread 개념을 이용해서이다. Thread란? thread란 하나의 프로세스 안에서 실행되는 여러 흐름의 단위라고 생각하면된다... c++/알고리즘 2022. 3. 29. 백준-2468 안전영역 1. 안전영역(DFS) 이 문제 또한 DFS를 활용하여 깊이 탐색을 하는 문제였다. 앞서 문제와 한 가지 다른점은 앞서 유기농 배추 문제는 모든 배열의 값이 0아니면 1이 들어가서 바로 dfs를 탐색할 수 있었던 반면에 이 문제에서는 각 배열마다 다른 높이가 존재해서 높이를 비교하면서 가야한다는 점이 있었다. 하지만 메모리 적으로 여유가 있어 나는 먼저 침수 높이d와 비교해 더 낮은 지대를 1의 값으로 갖는 비교 배열을 만들어준 후 앞선 유기농 배추 문제와 같이 dfs를 실행해주었다. dfs함수에서는 우선적으로 방문 배열을 1로 표시해주어야 하는 것이 중요하다는 것을 명심하자. 다음은 내가 문제를 푼 코드이다. #include #include #include using namespace std; int .. c++/알고리즘 2022. 3. 29. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음 728x90 반응형