728x90
전체 글
544

[AutoCAD] Dimdec, Dimrnd

DIMDEC는 치수의 precision을 조절할 수 있는 variable이다. 예를 들어 값을 2로 했다면 '0.00'으로 나타낸다는 것이고 0이라고 했다면 '0'으로 나타낸다. 즉, 1.23, 1 과 같이 나타낸다는 것이다. DIMRND는 반올림 기준을 조절할 수 있는 variable이다. 0.5라고 설정하면 0.5 단위로 반올림이된다. 예를 들어 실제 치수가 136.25라고 하면 136.5로 반올림되서 표시된다. 또한 1이라고 설정하면 소수점 자리없이 반올림 된다. 그러니까 136.25라고 하면 136으로 반올림된다는 말이다. 여기서 주의해야할 점은 DIMDEC를 0으로 설정해도 다음과 같이 반올림이 제대로 작동하지 않는 경우가 생긴다. 위 실제 치수는 136.25인데 왼쪽은 136으로 제대로 반올림..

AutoCAD/Tip 2021.05.24

[실습] k-최근접 이웃(k-Nearest Neighbor, kNN)

[https://github.com/wikibook/machine-learning]에서 다운로드 받은 농구선수에 대한 데이터를 사용하여 kNN 알고리즘을 적용해보는 실습을 하였다. 목표는 임의의 농구선수의 포지션을 예측하는 것이다. 데이터 획득 import pandas as pd df = pd.read_csv(./data/basketball_stat.csv) df.head() colab에서 실행하였고 파일을 드라이브에 넣었기 때문에 경로를 "./data/basketball_stat.csv"로 지정해준 것이다. [출력] 각 데이터 속성 값의 의미는 다음과 같다. Player = 선수 이름 Pos = 포지션 3P = 한 경기 평균 3점슛 성공 횟수 2P = 한 경기 평균 2점슛 성공 횟수 TRB = 한 경기..

k-최근접 이웃(k-Nearest Neighbor, kNN)

kNN 알고리즘은 데이터 분류에 사용되는 아주 간단한 지도학습 알고리즘이다. kNN의 이해 kNN 알고리즘은 주변 데이터에게 물어봐서 현재 데이터가 무엇인지 판단하는 알고리즘이라고 할 수 있다. 구체적으로 말하면 기존의 데이터 안에서 현재 데이터로부터 가까운 k개의 데이터를 찾아 k개의 레이블 중 가장 많이 분류된 값으로 현재의 데이터를 분류하는 알고리즘이다. 예를 들어서 주변에 가장 가까이있는 5명에게 "여기는 강남일까요, 강북일까요?"라고 물어보는 상황을 생각해보자. 그리고 4명은 강남, 1명은 강북이라고 대답했다면 현재 위치는 강남이라고 판단할 수 있을 것이다. 바로 여기서 k가 5명을 가리키고 이 방법이 kNN 알고리즘이라 한다. 그렇다면 실제 데이터 간의 거리는 어떻게 알 수 있을까?? 우선 대..

COVID-19 데이터 가공 및 시각화

한글 폰트 사용을 위해 설치 !sudo apt-get install -y fonts-nanum !sudo fc-cache -fv !rm ~/.cache/matplotlib -rf 한글 폰트를 따로 설치해주지 않으면 한글이 '□□□□'로 깨져서 나온다. [출력] Reading package lists... Done Building dependency tree Reading state information... Done fonts-nanum is already the newest version (20170925-1). The following package was automatically installed and is no longer required: libnvidia-common-460 Use 'sudo..

혼동 행렬과 교차 검증

혼동 행렬 혼동 행렬(confusion matrix)는 모델의 성능을 평가할 때 사용되는 지표이다. 예를 들어서 다음과 같은 표를 말한다. 예측값 A B C D 실제값 A 9 1 0 0 B 1 15 3 1 C 5 0 24 1 D 0 4 1 15 여기서 B를 C로, C를 A로, D를 B로 혼동한다는 정보를 알 수 있고 대략적인 모델의 성능도 한 눈에 확인할 수 있다. 모델의 성능은 바로 이 혼동 행렬을 기반으로 하나의 수치로 표현할 수 있다. TP(true positive) TP는 데이터의 실제값을 올바르게 예측한 케이스를 말한다. 아래의 혼동 행렬에서 대각선 부분이 TP이다. 예측값 A B C D 실제값 A 9 1 0 0 B 1 15 3 1 C 5 0 24 1 D 0 4 1 15 TN(true negat..

과대적합과 과소적합

개인적으로 과대적합과 과소적합의 이해가 많이 헷갈렸다. 따라서 여러번 예시를 작성하여 설명하겠다. 과소적합(underfitting): 데이터에서 충분히 특징을 찾아내지 못하고 머신러닝 모델을 학습할 경우 과대적합(overfitting): 필요 이상의 특징으로 학습할 경우 위와 같이 간단하게 적어놓으면 전혀 감을 잡지 못한다. 출처: [https://www.analyticsvidhya.com/blog/2020/08/bias-and-variance-tradeoff-machine-learning/] 위와 같이 수학적으로 데이터에서 필요 이상으로 추출할 경우 분산(variance)이 높아지고, 반대로 필요 이하로 추출할 경우 편향(bias)이 높아진다. 예를 들어 감자를 썰 때 필요 이상으로 썰면 너무 작게 많..

지도학습과 비지도학습

지도학습 지도학습(supervised learning)이란 정답을 알려주면서 진행되는 학습이다. 출처: [https://opentutorials.org/module/4916/28897] 위처럼 학습 데이터와 함께 정답을 항상 제공해줘야 한다. 여기서 정답을 "레이블"이라고 한다. 이외에도 실제값, 타깃, 클래스, y값 등 많은 단어가 정답과 같은 의미로 쓰인다. 그리고 머신러닝 모델을 통해 예측된 값은 예측값, 분류값, y hat 등으로 많이 표현한다. 지도학습은 학습할 데이터와 레이블을 제공하기 때문에 모델의 성능을 손쉽게 평가할 수 있지만 데이터마다 레이블을 달기 위해 시간을 많이 투자해야한다. 대표적으로 분류(classification)와 회귀(regression)이 있는데 간단하게 설명하면 분류는..

[웹 브라우저의 동작] 4. 프로토콜 스택

이전에 설명했듯이 웹 서버에 메시지를 송신하기위해서는 OS의 내부에 있는 "프로토콜 스택"에 의뢰한다고 했다. 이제 이 "프로토콜 스택"에서 데이터를 송ㆍ수신하는 동작을 알아보겠다. 데이터 송ㆍ수신의 4단계 우선 데이터 송ㆍ수신의 전체적인 순서와 단계를 알아보겠다. 클라이언트와 서버들끼리 데이터를 송ㆍ수신하기 위해서는 클라이언트, 서버 각각에는 소켓을 만들고 서로 파이프를 연결하게 된다. 파이프를 연결하게되서야 서로 데이터를 송ㆍ수신하고 연결을 끊는다. 이 단계는 다음과 같다. 소켓을 만든다. (소켓 생성) 서버측의 소켓에 파이프를 연결한다. (접속) 데이터 송ㆍ수신(송ㆍ수신) 파이프 분리 및 소켓 말소(연결 끊기) 먼저 서버 측에서 소켓을 만들고 소켓에 클라이언트가 파이프를 연결하기를 기다린다. 그러면..

Network 2021.05.16

[웹 브라우저의 동작] 3. DNS

전체적인 흐름 브라우저 실행 URL 입력 브라우저가 URL을 조사 후 리퀘스트 메시지 생성 DNS 서버에 IP 주소 조사 신청 OS에 웹 서버로 송신해주라고 의뢰 웹 서버 수신 이전의 "2. IP"글에서 리졸버 내부에서 어떻게 작동하는지 알아보았었다. 그 중에서 DNS 서버가 메시지를 받아서 답을 찾아가는 과정은 생략했었다. 그래서 이번에는 그 과정을 알아보겠다. DNS DNS 서버의 기본 동작 DNS 서버에서 받은 조회 메시지는 다음과 같은 세 가지 정보가 포함되어 있다. (a) 이름 서버나 메일 배송 목적지(메일 주소에서 @ 뒷부분의 이름)와 같은 이름이다. (b) 클래스 DNS의 구조를 고안했을 때 인터넷 이외에도 네트워크에서의 이용까지 검토하여 이것을 식별하기 위해 클래스라는 정보를 준비했다.그러..

Network 2021.05.15

[웹 브라우저의 동작] 2. IP

전체적인 흐름 브라우저 실행 URL 입력 브라우저가 URL을 조사 후 리퀘스트 메시지 생성 DNS 서버에 IP 주소 조사 신청 OS에 웹 서버로 송신해주라고 의뢰 웹 서버 수신 이전 "1. HTTP" 글은 위 전체적인 흐름에서 "3. 브라우저가 URL을 조사 후 리퀘스트 메시지 생성"까지를 알아보았다. 이제 "4. DNS 서버에 IP 주소 조사 신청" 단계를 알아볼 차례이다. IP 이전 글에 언급했듯이 브라우저는 메시지를 송신할때 OS에 의뢰를 해야한다고 했다. 이때 OS에 의뢰하기 전 URI에 작성되어있는 도메인명에서 IP 주소를 조사하고 그 IP 주소를 통해 메시지를 받을 상대를 지정한다. TCP/IP 우선 TCP/IP에 대한 개념부터 알아보자. TCP/IP 네크워크는 작은 서브넷을 라우터로 연결하여..

Network 2021.05.14
728x90