본문 바로가기

[ML] Tensorflow 2.0을 이용한 Breast Cancer Wisconsin(유방암) 데이터 분류분석(Hparams를 이용한 하이퍼파라미터 튜닝) 데이터 출처: http://mlr.cs.umass.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29 Breast Cancer Wisconsin 데이터셋은 특정 지역의 유방암 환자들의 종양 정보와 환자 정보를 이용해 해당 종양이 악성인지 양성인지를 판단하는 데이터 입니다. 본 글에서는 Breast Cancer Wisconsin 데이터셋을 활용해서 정확도 90% 이상의 분류기를 만드는 것이 목적입니다. import tensorflow as tf from tensorboard.plugins.hparams import api as hp import pandas as pd import requests import matplotlib.pyplot as plt im..
[ML] Tensorflow 2.0을 이용한 iris dataset 분류분석 데이터 출처: https://archive.ics.uci.edu/ml/datasets/iris iris dataset은 꽃잎의 길이, 너비 등의 feature로부터 iris의 품종을 예측하는 것이 목적인 분류 분석 문제입니다. 데이터셋에는 150개의 데이터가 있고, 각 데이터는 4개의 feature를 가지고 있습니다. 또한 분류 레이블은 'Iris-setosa', 'Iris-versicolor', 'Iris-virginica' 으로 세가지가 있습니다. import tensorflow as tf import pandas as pd import requests import matplotlib.pyplot as plt import numpy as np 먼저 데이터를 자동으로 다운로드받아서 저장하는 함수를 만들..
[ML][Python] 선형 회귀분석(Linear Regression) 직접 구현하기(2) 단순선형 회귀분석 Python 구현 Goal Python 으로 단순 선형 회귀분석을 구현한다. 오차 함수를 통해 학습률을 조정할 수 있다. 본 포스팅에서는 단순 선형 회귀분석을 경사 하강법을 이용해 python 으로 훈련시키는 것을 목표로 합니다. Jupyter Notebook을 기준으로 작성할 것이지만, 그냥 Python에서 스크립팅을 하셔도 무방할 것입니다 본 포스팅에서 사용할 데이터는 위와 같습니다. 다운받아서 컴퓨터에 저장해 주세요. Background 선형 회귀분석의 오차식과 경사식에 대한 글은 이글을 참고해 주세요. 경사 하강법에 관한 글은 이글을 참고해 주세요. Python 프로그래밍 일단 필요한 라이브러리를 임포트 하겠습니다, import numpy as np import matplotlib.pyplot as plt impo..
[ML][Python] 선형 회귀분석(Linear Regression) 직접 구현하기(1) 오차함수(Cost Function)과 경사하강식 Goal 선형 회귀분석의 개념과 목표를 이해한다. 선형 회귀분석의 오차함수(Cost Function)을 이해한다. 선형 회귀분석의 경사하강식을 학습한다. 본 포스팅의 목적을 Python으로 기본적인 선형 회귀분석을 구현하는 것이기 때문에 P값 등의 통계학적 개념은 배제하고, 선형 회귀분석의 직접 구현만을 목표로 포스팅을 작성하였다. 선형회귀분석이란? 위키피디아의 정의에 의하면, 선형 회귀분석은 종속 변수 y와 한 개 이상의 독립 변수 (또는 설명 변수) X와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 한 개의 설명 변수에 기반한 경우에는 단순 선형 회귀, 둘 이상의 설명 변수에 기반한 경우에는 다중 선형 회귀라고 한다. 즉 위의 데이터에서 붉은 선을 그은 것과 같이 데이터로 가지고 있는 독립변수와..
[머신러닝][ML] 인공지능, 머신러닝, 딥러닝이란? 머신러닝의 정의 정리와 활용가능성 개요 2016년 5월, 지금으로부터 3년 전에 이세돌 9단과 알파고의 바둑 대결이 있었습니다. 대국은 알파고의 승리로 끝났고, 이후 인공지능 분야에 많은 관심이 쏠리게 되었습니다. 이후 인간의 영역에 대한 인공지능의 도전이라고 할 정도로 이미지 분석, 챗봇, 번역, 자연어 처리 등에서 국내외에서 폭발적인 관심과 가시적인 성과가 있었습니다. 특히 주목받는 딥러닝 기술로 많은 분야에서 인공지능의 성능이 개선되었습니다. 다음은 '딥러닝'의 관심도 증가를 확인할 수 있는 키워드의 구글 트렌드 결과입니다. 이 글에서는 애매모호한 인공지능, 머신러닝, 딥러닝 등의 단어를 확실하게 정의하고, 설명할 것입니다. 1. 인공 지능이란? 인공 지능(Artificial Intelligence)은 "The science of ..
[자료구조] Queue 큐-설명과 Python 구현하기 1. 큐(Queue) 란? 큐는 스택, 연결 리스트 등 자료 구조중 하나입니다. 먼저 들어간 요소가 먼저 나오는 스택의 FILO(First In Last Out) 구조와 다르게 큐는 공항 검색대와 같이 먼저 들어간 순서대로 요소들이 처리되는 FIFO(First In First Out) 자료구조입니다. 큐는 특히 BFS 알고리즘의 구현에서 많이 사용됩니다. 2. 큐의 연산 pop()
[자료구조] Stack 스택-Python으로 구현하기 1. 스택이란? 스택(Stack) 이란 자료구조의 하나입니다. 스택은 먼저 들어간 요소가 나중에 나온다고 해서 FILO(First In Last Out) 이라고 말합니다. 스택의 사용 예시로는 재귀 함수의 실행 과정이 있습니다. 재귀함수를 호출할 때 호출 당한 함수가 끝난 뒤 호출을 한 함수가 끝나는 것과 같이 스택에 들어간 요소가 나오기 위해서는 그 이후에 삽입한 요소들이 모두 나와야 합니다. 2. 스택의 연산 기본적으로 스택은 pop과 push 연산을 수행해 요소를 변경합니다. pop은 스택의 가장 위 요소를 제거하는 역할을 하고, push는 스택의 위에 새로운 원소를 삽입하는 역할을 합니다. 스택에서 중간 값만을 변경하거나 삭제할 수는 없습니다. 스택을 직관적으로 이해해 봅시다. 스택을 다음 그림과..