반응형

전체 글 218

[ 머신러닝 프로그램 ] k최근접 이웃 회귀 알고리즘

지도학습은 분류와 회귀로 두가지 종류가 있다. 분류는 샘플을 몇 개의 클래스 중 하나로 분류하는 문제이고, 회귀는 임의의 어떤 숫자를 예측하는 문제이다. k-최근접 이웃 회귀의 원리는 분류와 비슷하다. 샘플에 가장 가까운 샘플 k개를 선택하고 이들의 평균을 구하면 된다! 우리는 농어의 정보들을 분석해서 한 농어의 정보를 예측할 것이다. 농어의 산점도를 보자! 산점도를 보면 길이가 길어질수록 무게가 올라가는 것을 쉽게 알 수 있다. 이제 데이터들을 준비해서 알고리즘을 돌려보자! #데이터 세팅 train_input, test_input, train_target, test_target = train_test_split(perch_length, perch_weight) train_input=train_input..

공부/머신러닝 2023.02.13

[ 머신러닝 프로그램 ] k-최근접 이웃 분류 알고리즘 ver3 - 데이터 전처리

버전2의 머신러닝 프로그램은 완벽해보인다. 하지만 어떤 도미를 넣으면 빙어라고 판단하기도 한다! 이는 데이터들이 덜 가공되었기 때문이다. 이런 부분을 데이터 전처리로 해결해보자! 기본 데이터 준비 #머신러닝 프로그램 ver3 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split #도미의 정보 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32...

공부/머신러닝 2023.02.13

[ TCP/IP ] 트랜스포트층

트랜스포트층 트랜스포트층은 애플리케이션층과 네트워크칭의 중개역할을한다. 데이터가 전달되다가 문제가 발생하게되면 트랜스포트층은 통신 서비스에 맞는방식으로 문제를 처리한다. 트랜스포트층에는 신뢰를 중요시하는 TCP와 속도를 중요시하는 UDP가 존재한다. TCP는 그래서 확실히 상대에게 데이터를 제공하고싶을 때 사용하고, UDP는 실패해도 크게 상관없을 때 사용한다. 포트 번호 포트번호는 0~65535번까지 있다. 그 중에서도 0~1023번까지는 통신 서비스마다 미리 예약되어있고 그 외에는 사용자가 임의로 설정할 수 있다. 하지만 이때 통신하는 컴퓨터 간에 어떤 포트번호를 사용할지에 대한 인식이 통일되어있어야한다. TCP 프로토콜 TCP는 데이터를 확실히 전달하기 위해 수신측과 일 대 일로 통신한다. 이런 통..

공부/TCP IP 2023.02.13

[ 머신러닝 프로그램 ] k-최근접 이웃 분류 알고리즘 ver2 - 테스트 세트 추가

버전 1의 머신러닝 프로그램은 훈련 데이터 세트와 테스트 데이터 세트가 다르지 않았다. 이는 시험 보기전 답을 다 알려준 상태라고 볼 수 있다..! 테스트 세트 설정 보통은 훈련 데이터 세트에서 일부를 테스트 데이터로 활용한다. 근데 여기서 주의할 점은 훈련데이터에 한 종류의 데이터만 편향되면 안된다는 것이다. 전에 했던 데이터들을 다시 떠올려보면 도미가 35개 빙어가 14개 있었다. 여기서 도미 35개를 훈련세트로 하고 빙어 14개를 테스트세트로 하면 정확도는 0이 나올 것이다. 이를 샘플링 편향이라고 한다. 이를 방지하려면 훈련세트와 테스트세트를 잘 섞어줘야한다. 넘파이라는 라이브러리를 사용하면 이러한 작업을 편리하게 할 수 있다. 넘파이의 함수들을 사용하려면 리스트들을 넘파이배열로 바꿔줘야한다. 그..

공부/머신러닝 2023.02.11

[ TCP/IP ] 애플리케이션층

애플리케이션층 애플리케이션 픙은 TCP/IP의 5계층 중에서 가장 위에 위치한다. 컴퓨터끼리 주고받는 것들은 사용자가 이용할 수 있는 통신서비스로 만드는 역할을한다. 애플리케이션층에서는 통신서비스를 실현하기 때문에 송수신측이라는 말보다는 클라이언트와 서버의 개념을 갖는다. 어플리케이션층에서의 프로토콜은 어떻게 하면 효율적일까를 고려하여 만들어졌다. 에플리케이션 헤더 에플리케이션 층에서 추가되는 헤더를 애플리케이션 헤더라고 한다. 여기에는 '요청과 응답'에 관한 정보가 들어있다. 아래층으로 가면 데이터가 하나로 묶여버리기 때문에 애플리케이션층끼리만 해석할 수 있다. 프로토콜에 따라 텍스트 기반(영어, 숫자)으로 작성되기도 하고, 바이너리 기반으로 작성되기도 한다. 클라이언트가 서버에 서비스를 요청할 때는 ..

공부/TCP IP 2023.02.11

[ 머신러닝 프로그램 ] k-최근접 이웃 분류 알고리즘 ver1

생선 도미와 빙어를 구분하는 머신러닝을 만들어보자! 산점도 그리기 생선 도미의 데이터를 가져와서 산점도로 확인해보자! 파이썬에서 과학계산용 그래프를 그리는 대표적인 패키지는 matplotlib이다. matplotlib 안에 산점도를 그리는 함수 scatter()함수를 이용하여 도미의 길이와 무게에 대한 산점도를 그려보자! import matplotlib.pyplot as plt #도미의 정보 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0,..

공부/머신러닝 2023.02.10

[ 웹 ] 인생사진 : 스파르타코딩클럽 무료강의 2월 월간코딩

스파르타코딩클럽은 컴퓨터관련 종사자라면 모두 알고있는 코딩 교육 플랫폼이다! 이번에 2월 무료강의로 인생사진을 만들어볼 수 있다고 해서 들어보게 되었다. 들어가보니 무료로 강의를 볼 수 있고 기간내에 완강할시 평생소유할 수 있었다! 강의도 10분 이내의 강의 여러개로 다 합쳐도 1시간정도밖에 아되었다. 원래 강의를 오래 잘 못 보는 사람이었는데 강의 길이를 보니 너무 길지 않고 강의자료도 너무 잘 되어있어 들어보고싶은 의지가 생겼다! 강의자료는 notion으로 만들어져 있었는데, 디자인과 설명이 재치있어 지루하지 않았다. 코드도 다 삽입되어있어 타이핑이 너무 느린사람들은 너무 딜레이되지 않게 공부를 진행 할 수 있을 것 같다! 1차로 html파일만 완성했을 때다! html로는 형식만 잡을 수 있다! 강의..

프로젝트 2023.02.10

[ TCP/IP ] 통신 서비스와 프로토콜

서버와 클라이언트 서비스를 제공하는 측을 서버, 서비스를 받는 측을 클라이언트라고한다. 이 둘이 통신하는 과정은 아래와 같다. 클라이언트가 받고싶은 서비스를 주문한다. 서비스를 담당하는 서버에게 클라이언트의 요청을 전달한다. 클라이언트의 주문대로 서비스를 제공한다. URL 네트워크 상에 있는 특정 데이터 등을 표시할 때 사용하는 것이 URL이다. URL은 스킴명, 도메인, 포트번호(생략가능), 경로, 파일명으로 이루어져있다. 스킴명은 아래과 같은 종류가 있다. http - WWW 웹서비스 ftp - 파일전송 mailto - 전자메일 telnet - 원격 로그인 URL안의 도메인을 좀더 알아보자. 도메인은 ccTLD와 gTLD 두가지 종류가 있다. ccTLD는 서버명, 조직명, 조직속성, 국가코드로 이루어..

공부/TCP IP 2023.02.09

[ C++ ] #10026 적록색약

영역찾기는 전에도 해봤지만, 이번에는 각 색의 영역을 찾아야한다..ㅠ 그리고 두케이스를 봐야한다. 먼저 나는 color배열랑 Ncolor배열응 만들어 색약이 아닌 사람과 색약인 사람의 배열을 분리했다. Ncolor에는 G와 R이 있다면 1을 넣었다. 그리고 color배열에서 RGB로 세번 영역을 찾고 Ncolor배열에서 1로 영역을 찾아야겠다고 생각했다. 한참 코드를 짜다가 생각났는데 배열이 하나만 있어도 충분히 가능할 것 같았다. BFS조건만 좀 수정하면되니까... 근데 이미 코드를 너무 많이 짜서 킵고잉하자..! (뒤늦게 생각난건데 배열하나로 진행하려면 방문했는지 확인하는 배열이 필요하기때문이 메모리는 똑같을 것 같다 ㅎㅎ) 이야!! 성공했다! 짜잘짜잘한 오류가 있었지만 전에 비해 훨씬 빠르게 해결한..

BOJ/[ BOJ ] C++ 2023.02.09

[ spring ] 예제 - 회원관리 : 스프링DB 접근기술

서버를 껐다 켜도 데이터들이 저장되기 위해서는 데이터베이스를 활용해야한다. 먼저 가장 간단한 H2데이터베이스를 활용해보자 실무에서는 mySQL이나 오라클을 많이 사용한다. H2는 교육용으로 사용하기 좋은 가벼운 프로그램이다. 1. H2 데이터베이스 설치 나는 1.4.200 의 window버전을 다운받았다! 모두다 다운을 받고 consol를 실행시켜 보면 아래와 같은 화면이 뜬다! 경로를 잘 확인하고 >>연결

반응형