반응형

전체 글 121

머신러닝(15) Hierarchical Clustering으로 데이터를 그룹화하자

이번시간에는 비지도 학습 중 하나인 Hierarchical Clustering으로 데이터를 그룹화 하는 방법을 알아보겠다. 기존에 비지도 학습인 K-Means Clustering하고 다른 방법으로 진행되는 Hierarchical Clustering은 Dendrogam을 통해 데이터 간에 연결 지점을 찾고 머신러닝의 사용자가 그룹을 어떻게 나눌지 판단하는 방법이다. 정확히는 그룹을 사용자가 Dendrogam통해 보고 판단해야 적절한 그룹화를 이루는것이지 머신러닝 자체에서 판단 못하는것은 아니다. 코드를 통해 알아보자 데이터를 불러오고 적용하는것은 기존에 K-Means Clustering하고 동일하게 진행된다. 비지도 학습은 y데이터가 없고 정규화 또한 진행되지 않고 train test로 나눌 필요가 없다는..

머신러닝 2022.12.06

데이터 베이스(5) MySQL 테이블에 데이터를 넣는 방법 하나의 데이터 넣기/여러 데이터 넣기

MySQL 테이블에 데이터를 넣는 방법을 알아보자 먼저 MySQL workbench에서 열고 작업한다. 그리고 새 테이블까지 만들어준다. 새테이블에 오른쪽 마우스로 새 테이블을 클릭한뒤 select table를 클릭한다. 그럼 이렇게 화면이 나오고(필자는 작업을 해서 쿼리 명령어가 쳐져 있다) 여기에 이렇게 입력한다. --쿼리 명령어 --파이썬 아님 insert into people (frist_name,last_name,age) values('Tina','Belcher',42); 입력한 후 컨트롤+엔터를 누른다. 누른후 화면 맨위에 이 명령어를 컨트롤+엔터를 눌러 실행한다. SELECT * FROM YHDB.people; 그럼 이렇게 데이터베이스에 데이터가 추가된다. 여러개의 데이터를 입력하려면 ins..

데이터 베이스 2022.12.06

데이터 베이스(4) MySQL에 테이블 만들기

이제 연결된 DB를 눌러서 들어가보자 들어가면 이렇게 나오는데 메뉴바 밑에 +가 쓰여있고 원통형 기호를 클릭하여 Schema를 만든다. Schema이름을 설정할수 있는데 아무거나 편한걸로 해주자(왠만하면 영어로) 만든 원통을 누르고 그림에 빨간원에 있는 아이콘을 클릭하면 newtable를 생성할수 있다. newtable를 생성하면 이렇게 나온다.

데이터 베이스 2022.12.06

데이터 베이스(3) MySQL workbench를 aws와 연결해서 사용하자

MySQL workbench를 사용하기 위해선 먼저 만들어 두었던 AWS의 RDS와 연결시킬 필요가 있다. 연결하는 방법을 알아보자 우선 AWS에서 방화벽 규칙을 변경을 한다. 연결 엔 보안에서 VPC보안 그룹 밑에 파란 글씨를 클릭하자 보안 그룹 뜨고 밑에 인바운드 규칙에 규칙을 하나 더 추가한다. 유형을 MySQL/Aurora을 선택하고 ip버전을 IPv4을 선택한다. 그리고 밑에 저장을 누르면 방화벽 규칙이 추가 된다. 이제 aws는 나오고 MySQLworkbench를 실행하자 실행하면 이렇게 화면이 뜨는데 밑에 빨간 칠 되어 있는 플러스를 누른다. 플러스에서 누르면 이렇게 화면이 나오고 여기에 connection name에서 아무이름이나 만들고(왠만하면 영어로) hostname에서 저번에 복사한 ..

데이터 베이스 2022.12.06

데이터 베이스(2) MySQL workbench를 설치하자

이제 데이터베이스를 담을 RDS서버를 만들었다. 두번째로 데이터 베이스를 다룰 명령문을 쓸 MySQL를 설치하자 우선 구글에 쳐도 되지만 아래 링크로 돌고래 그림이 그려진 MySQL workbench 설치 파일을 다운로드 하자 https://dev.mysql.com/downloads/workbench/ MySQL :: Download MySQL Workbench Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Rec..

데이터 베이스 2022.12.06

데이터 베이스(1) aws에서 데이터 베이스를 담을 서버를 만들자

우리가 데이터베이스를 담기 위해선 여태까지는 메모리에 담았지만 메모리는 휘발성이 매우 강하다. 어디 까지나 본인의 컴퓨터에 임시로 저장해놓는거기 때문에 산업에서 사용되는 데이터베이스를 다루기에는 매우 부적절하다. 따라서 이번 시간부터는 데이터베이스 다루는 방법을 알아 보겠다. 데이터베이스를 다루기 위해선 메모리에 저장하는거 대신 서버에 저장해야 되는데 하드웨어로 서버를 마련하는 방법도 있지만 그건 비용이 많이 들기 때문에 aws같은 회사에서 온라인으로 빌려주는 서버를 이용한다. aws입장에서 서버를 빌려주는것이기 때문에 원래 비용이 발생하지만 free tier 버전을 이용하면 1년간은 무료로 이용할 수 있다. 따라해보자 우선 aws 홈페이지에 접속한다. 그리고 오른쪽 상단에 로그인을 클릭한다. 이 화면이..

데이터 베이스 2022.12.06

머신러닝(14) K-Means Clustering으로 데이터를 분류하여 그룹화하자

K-Means Clustering은 정확도를 예측할수 없고 머신러닝이 수행한 값을 그대로 적용하는 비지도 학습의 머신러닝 모델로써 값을 예측하는것이 아니고 기존의 데이터들을 머신러닝의 임의에 기준으로 그룹화 시키는 방법이다. 원리는 이렇다 이러한 데이터를 두 그룹으로 나눈다 할때 컴퓨터는 이런식으로 임의점을 잡고 그점 사이의 선의 거리를 구한다. 그 선의 중심점에 선의 수직으로 또하나의 선을 긋는다. 수직선을 기준으로 데이터를 나눈다. 다시 임의의 점들은 영역이 나뉜 데이터의 중심으로 이동하고 다시 두점사이의 거리를 구하고 거리의 중심으로 수직선을 긋는다. 수직선이 바뀌어서 데이터의 영역도 변한다. 다시 그 중심으로 이동하며 위에 순서를 반복한다. 더이상 중복되지 않은 선이 나타나지 않을때까지 선을 그으..

머신러닝 2022.12.05

머신러닝(13) Decision Tree로 데이터를 예측해보자

Decision Tree는 머신러닝의 예측기법중 하나로써 비교적 단순한 방법으로 데이터를 분류해서 찾아간다. 이렇게 데이터가 있다면 머신러닝은 이런식으로 랜덤하게 조건을 주고 데이터를 2개로 분류한다. 그럼 이렇게 데이터가 분류된다. 이제 머신러닝은 데이터를 랜덤하게 조건을 주고 2개로 분류된 데이터를 다시 2개씩 계속 분류해 나아간다. 그러면 최종적으로 데이터 범위가 좁혀져 데이터를 예측할수 있는것이다. 이제 코드를 통하여 알아보자 데이터를 불러오고 데이터를 가공하는것까진 기존의 머신러닝 기법과 똑같다. # DecisionTree함수 호출 from sklearn.tree import DecisionTreeClassifier #변수안에 함수를 넣는다. classifier = DecisionTreeClas..

머신러닝 2022.12.05

머신러닝(12) Support Vector Machine으로 데이터를 예측해보자

Support Vector Machine이란 머신러닝 예측 기법중 하나로 딥러닝이 나오긴전엔 높은 정확도를 가진 기법이 이었다. 무엇이 Support Vector Machine의 정확도를 끌어올렸는지 알아보자 Support Vector Machine의 작동원리는 이러하다 만약 인공지능보고 물건을 주고 사과인지 오렌지인지 분석하라 해보자 이렇게 좀 구별짓게 생긴게 있는가 반면 이렇게 오렌지 빛이 나는 사과가 있다 해보자 우리 사람은 "아 이거 좀 그래도 사과 같은데?" 이렇게 생각할 수 있지만 컴퓨터는 이미 사과와 오렌지의 기본 데이터로만 판단 할것이다. 그래서 사람보다 더욱더 구별하기 힘들것이다. 이렇게 완전 애매한 데이터는 SVM(Support Vector Machine)으로 구별한다. 빨간 점이 사과..

머신러닝 2022.12.02

머신러닝(11) K-NN으로 데이터를 예측해보자

K-NN은 머신러닝 기법중 하나이다. K-NN이 무엇인지 알아보도록 하자 K-NN은 이렇게 작동한다. 그래프 상에 값이 2개로 나오는 점들이 집합을 이루고 있다. 이 그래프에 새로운 데이터가 들어올때 어느 모임에 속하게 되는지 알아맞추는게 이번 인공지능의 목표이다. 그럼 어떻게 알아맞출까? 바로 새로운 데이터점과 좀더 가까운 모임에 속하게 된다고 예측하게 된다. 언뜻 보면 Logistic Regression을 떠올릴수 있겠지만 접근방식이 다른 기법이다. 이런식으로 조금이라도 더 가까운곳에 데이터가 속하게 된다. 그럼 어떻게 구현할까 알아보자 #데이터 프레임 함수 import pandas as pd import numpy as np #데이터를 불러온다. df=pd.read_csv('../data/Socia..

머신러닝 2022.12.02