분류 전체보기(64)
-
Day 22 - 머신러닝 3 > KNN(K - Nearest Neighbors)
이번 글에서는 머신러닝 알고리즘 중 KNN에 대해 다룰 것이다. KNN은 선형관계를 상정하지 않은 데이터셋에서도 활용할 수 있는 거리기반 머신러닝 모델로, 다중분류 문제에 적용 가능하다. KNN의 풀네임을 보면 유추할 수 있듯, KNN은 K개의 가장 가까운 데이터에 의해 결과값을 예측하는 알고리즘이다. 이 K값은 사용자가 지정할 수 있다. K개의 데이터를 하나하나 고려하여 예측하는 알고리즘이다보니, K의 값이 크고 데이터셋의 크기가 클 수록 속도가 느려진다. 따라서 작은 데이터셋에 적합하다. 또한 이상치에 취약하다는 단점이 있다. KNN 알고리즘 실습을 wine classification 데이터를 통해 진행했다.
2022.11.09 -
Day 21 - 머신러닝 2 > 로지스틱 회귀
이번 글에서는 머신러닝 방법 중 로지스틱 회귀에 대해서 다룰 것이다. 로지스틱 회귀는 이진 분류를 다루며, 두가지 범주로 나뉘어진 값을 예측하는데 사용한다. 이는 기존의 선형 회귀가 이러한 값을 잘 예측하지 못하기 때문이다. 분류문제에 있어 타 모델과 비교하는데 있어 기준선으로 사용되며, 구현과 설명이 쉽다. 다만 선형관계가 아닌 데이터에 대한 예측력은 떨어진다는 단점이 있다. 자세한 이유는 모르겠지만, 아마 결국 선형회귀와 비슷한 방식의 회귀분석 방법이라서 그런게 아닐까 싶다. Titanic dataset을 활용하여 로지스틱 회귀 실습을 진행했다. 실습을 통해 알게 된것은, 어떤 머신러닝 기법을 사용하더라도 해당 기법에 맞게 데이터 전처리를 해주어야 한다는 것과 따라서 데이터 전처리가 정말 중요하다는 ..
2022.11.08 -
Day 20 - 머신러닝 1 > 선형회귀
이번 글에서는 머신러닝 중 선형회귀에 대해 공부했다. 우선 머신러닝에 대해 설명할 필요가 있는데, 주로 머신러닝과 함께 헷갈리는 개념들인 인공지능, 딥러닝의 개념을 함께 정리해보면 다음과 같다. 인공지능: 인간의 뇌를 모방한 프로그램. 세 개념 중 최상위 개념이다. 머신러닝: 데이터를 기반으로 학습하여 무언가를 예측하거나, 데이터 자체의 특성을 찾아내는 것. 딥러닝: 머신러닝 알고리즘의 한 종류로 인공 신경망에서 진화한 형태. 주로 이미지/비디오/자연어 분석에 쓰임. 세 개념 중 최하위 개념이다. 머신러닝은 기본적으로 데이터수집 > 데이터 전처리 > 모델학습 > 모델평가 > 모델배포의 프로세스를 통해 이루어진다. 위 프로세스를 반복하는 것을 MLOps라고 한다. 이 중 머신러닝 방법 중 하나인 선형회귀에..
2022.11.07 -
Day 19 - Titanic 데이터 실습
이번 글에서는 그동안 배운 데이터 전처리와 분석, 시각화를 Titanic 데이터를 통해 실습해 볼 것이다. Hello World!에 비할바는 못되지만 역시 데이터 분석 실습의 첫 걸음은 Titanic 데이터라고 생각한다. 우선, Titanic 데이터를 불러와 Titanic 데이터프레임에 저장하고, 분석하기 이전 더 용이한 분석을 위해 몇 가지 컬럼을 추가했다. 추가한 컬럼은 남녀 성별을 0/1로 구분하는 컬럼, 이름의 길이값을 저장하는 컬럼, 요금을 반올림한 컬럼이다. 우선은 커스텀 함수를 정의하지 않고 기존 함수나 dictionary를 이용하여 컬럼을 추가해보았다. 추가한 컬럼과 생존여부 간 상관분석을 진행했다. 그 뒤 본격적인 분석을 위해 필요한 전처리 과정의 일환인 유도변수 생성에 대해 배웠다. 사..
2022.11.02 -
Day 18 - 데이터 전처리
이번 글에서는 파이썬으로 데이터 분석을 수행하기 이전, raw data를 전처리하는 몇가지 방법들에 대해 정리할 것이다. 우선, 날짜 데이터를 전처리 하는 방법에 대해 설명할 것이다. 날짜 데이터의 경우, 우선 해당 데이터가 문자열 형식인지 timestamp 형식인지 구분하는 작업이 필요하다. 이후 문자열 데이터의 경우에는 데이터 타입을 datetime으로 변경하면 되고, timestamp 타입의 경우 unit을 잘 지정하여 datetime으로 변경하면 된다. 그 다음 소개할 것은 라벨형식과 문자열 형식을 통일하는 전처리인데, 이것은 보통 데이터의 인코딩 작업에 포함된다. 컬럼 네임을 변경할 때, 함부로 빈 리스트를 사용해서 변경할 경우 apply 메서드가 제대로 적용되지 않는 경우가 있으니 주의하자. ..
2022.11.01 -
Day 16/17 - 미니프로젝트(넷플릭스 인기컨텐츠의 장르와 계절간의 관계)
이번 글에서는 이틀동안 진행한 미니프로젝트에 대해 간략하게 정리할 것이다. 이번 미니프로젝트의 핵심은 크롤링을 이용하여 특정 주제에 대한 데이터를 수집하고, 이를 바탕으로 데이터 분석 작업을 수행하는 것이었다. 우리팀은 2020년 9월부터 2020년 8월까지 전세계 넷플릭스 인기 컨텐츠 장르에 대한 자료를 수집하여 과연 계절과 넷플릭스 인기 장르 간의 관련이 있는지, 관련이 있다면 그것은 우리의 통념과 일치하는지 여부를 조사하고자 했다. 원래의 계획은 browserless 크롤링을 통해 flixpatrol에서 특정 기간 동안의 전세계 넷플릭스 인기컨텐츠 목록을 월별로 수집하고, 이 목록을 이용하여 tmdb에서 api크롤링을 이용해 해당 컨텐츠들의 장르를 수집하는 것이었다. 하지만, tmdb에서 api 크..
2022.10.31