전체 글

전체 글

    [Data Science] TF-IDF란?

    [Data Science] TF-IDF란?

    TF-IDF를 알기 이전에 DTM부터 알아보겠습니다.  DTM(Document-Term Matrix, 문서 단어 행렬)  다수의 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현한 것을 의미합니다.  문서1: "나는 고양이를 좋아합니다."문서2: "나는 개를 싫어합니다."  단어나는고양이를좋아합니다개를싫어합니다문서111100문서210011  TF-IDF(Term Frequency-Inverse Document Frequency)  단어의 빈도(TF)와 역 문서 빈도(IDF)를 사용하여 DTM 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법 - 위키독스  *모든 문서에서 등장하는 단어는 중요도가 낮고, 특정 문서에서만 등장하는 단어는 중요도가 높습니다.  tf(d, t): 특정 문서 d에서 특정단어 ..

    [엑셀] 엑셀 csv 파일 한글깨짐 해결하기

    [엑셀] 엑셀 csv 파일 한글깨짐 해결하기

    csv로 저장한 파일을 엑셀로 열때 한글이 깨지는 문제가 발생할 때가 있습니다.   확인할 점) 이런 경우 먼저 CSV 파일로 저장할 시 encoding='utf-8' 을 적용했는지 확인이 필요합니다.    적용되었다면 아래와 같은 방법으로 해결할 수 있습니다.  1. 해당 파일을 오른쪽 클릭하여 "메모장에서 열기"를 선택   2. 메모장이 열렸다면 "다른 이름으로 저장" 클릭   3. 인코딩에서 ANSI로 변경     이 과정을 거치고 새로저장된 csv 파일을 엑셀로 열면 한글깨짐 문제가 해결됩니다  추가)  ANSI로 설정할 경우 특수문자에서 정상적인 출력이 이루어지지 않을 수도 있습니다.  그런경우 UTF-8이 기본값일때, UTF-8(BOM)으로 저장해..

    [Data science] 문장 유사도 분석을 위한 Levenshtein Distance(편집거리 알고리즘) 행렬 구하기

    [Data science] 문장 유사도 분석을 위한 Levenshtein Distance(편집거리 알고리즘) 행렬 구하기

    두 문장의 유사도를 알기 위해 "레벤슈타인 거리"라는 알고리즘을 사용할 수 있습니다. 대학시절 이산수학 과목에서 배웠는데 잊어버리기도했고 문장 유사도 분석을 해야하기 때문에 다시 정리할까 합니다. 이러한 공식을 가지고 있다고 합니다. 하지만 너무 어려우니 저는 매트릭스에 값 채우는 법만 빠르게 알아보겠습니다 레벤슈타인 알고리즘은 2차원 매트릭스를 생성하는데 비교하는 글자의 수에 따라서 정방행렬이 될 수도 있고, 아닐 수도 있습니다. 비교하려는 두 개의 문자 또는 문장의 길이가 같으면 정방행렬, 그렇지 않다면 정방행렬이 아니게 됩니다. 규칙은 간단합니다. 2차원 매트릭스의 행과 열을 a[i], b[j]라 할때 a[i] == b[i]이면 왼쪽 위 대각선 값을 그대로 가져오고, 그렇지 않으면 왼쪽, 위쪽, 왼..

    [Numpy] argsort()

    [Numpy] argsort()

    파이썬의 넘파이 라이브러리에는 argsort()라는 정렬함수가 있습니다. 일반적인 정렬함수와 약간 차이가 있는데요. 주어진 배열의 요소를 정렬한 후 정렬전 인덱스를 반환해 주는 것이 특징이며 오름차순이 기본값입니다. 직접 코드로 확인해 보겠습니다. import numpy as np arr = np.array([3, 1, 2, 5, 4]) print(np.argsort(arr)) >>> [1 2 0 4 3] 0 1 2 3 4 >> 인덱스 ↓ ↓ ↓ ↓ ↓ 3 1 2 5 4 >> 배열요소 정렬되면 1 2 3 4 5로 정렬이 될텐데, 그에 맞춰 인덱스도 정렬되어 1 2 0 4 3이 되어 출력됩니다. 추가) .argsort()[::-1]로 작성해 내림차순으로 정렬해 역순으로 가져올 수도 있으며 많이 사용되는 방..

    [컴퓨터네트워크] 서브넷 네트워킹 문제2

    문제 IP Address가 '192.168.23.132'이며, 서브넷 마스크(Subnet Mask)가 '255.255.255.192'인 경우 빈칸 ①~②에 들어갈 가장 적합한 값을 쓰시오. 네트워크 주소(Network ID) 192.168.32.(①) 네트워크 주소와 브로드캐스트 주소를 제외한 주소 개수 (②) 해설 서브넷 마스크가 '255.255.255.192'라 했으니 2진수로 표현하면 다음과 같습니다 11111111.11111111.11111111.11000000 그 이야기는 서브넷 마스크를 4개로 나눈 것과 같습니다. 11111111.11111111.11111111.00000000 -> 11111111.11111111.11111111.11000000 이진수가 2칸 0에서 1이 되었으니 (2^2 =..

    [컴퓨터네트워크] 서브넷 네트워킹 문제

    [컴퓨터네트워크] 서브넷 네트워킹 문제

    문제는 다음과 같습니다. 문제 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이때 서브네팅 된 네트워크 중 2번째 네트워크의 Broadcast IP주소를 쓰시오. 해설 IPv4 주소를 CIDR 방식을 이용해서 네트워크를 나타냈는데 /24이니까, 네트워크 주소는 32개 중 24개를 사용합니다 # 192.168.1.0/24의 서브넷 마스크 11111111.11111111.11111111.00000000 할당할 수 있는 호스트 부분은 4번째 구간인 00000000입니다. 문제에서 3개의 Subnet으로 나누고 IP Subnet-zero를 적용하라 했으니 4번째 구간을 나누겠습니다. 구간 당 IP의 개수 3개의 서브넷으로 나누..