반응형

파이썬/머신러닝 8

[머신러닝] 머신러닝 기초 - 행렬과 벡터 [광주인공지능학원]

오늘은 광주인공지능학원에서 진행된 기초수업중 행렬과 벡터에 대해서 알아보려 합니다. (본글의 사진자료는 광주인공지능학원과는 관련이 없습니다.) 행렬 행렬(matrix)은 수를 직사각형의 형태로 나열한 겁니다. ​A라는 행렬이 있습니다. A에는 12개의 수가 직사각형의 형태로 나열되어 있죠? 여기서 이 하나하나를 A의 '원소'라고 부릅니다. A에는 총 12개의 원소가 있는 거죠. 행렬의 가로줄을 행, 영어로는 row라고 부릅니다. 그러니까 A는 총 3개의 행이 있는데요. 위에서부터 1행, 2행, 그리고 3행. 이렇게 있습니다. 행렬의 세로줄은 열, 영어로는 column이라고 부릅니다. A에는 총 4개의 열이 있습니다. 가장 왼쪽에서부터 1열, 2열, 3열, 4열. 이렇게 있습니다. 행과 열을 셀 때 0이 ..

[머신러닝] 데이터 스케일링과 선형모델 [스마트인재개발원]

데이터 스케일링(Data Scaling) 특성(Feature)들의 범위(range)를 정규화 해주는 작업 특성마다 다른 범위를 가지는 경우 머신러닝 모델들이 제대로 학습되지 않을 가능성이 있다. (KNN, SVM, Meural network모델, Clustering 모델 등) 예를 들어 시력과 키를 함께 학습 시킬 경우 키의 범위가 크기때문에 거리값을 기반으로 학습할 때 영향을 많이 준다. - 데이터 스케일링 장점 특성들을 비교 분석하기 쉽게 만들어준다 Linear Model, Neural network Model등에서 학습의 안정성과 속도를 개선시킨다. 하지만 특성에 따라 원해 범위를 유지하는게 좋을 경우는 scaling을 하지 않아도 된다. - 데이터 스케일링 종류 StandardScaler 변수의 ..

[머신러닝]분류용 선형 모델(Linear Model - Classification) [스마트인재개발원]

분류용 선형 모델 공식 분류용 선형 모델 특징 특성들의 가중치 합이 0보다 크면 class를 +1(양성클래스) 0보다 작으면 클래스를 -1(음성클래스)로 분류한다 분류용 성형모델은 결정 경계가 입력의 선형함수 일대다 방법을 통해 다중 클래스 분류 다중 클래스를 분류하려면 선을 많이 그려야 한다. Logistic Regression 회귀공식을 사용해서 Regression이라는 이름이 붙음 결정경계가 선형이기 때문에 선형 모델 시그모이드 함수의 최적선을 찾고 반환값을 확률로 간주 선형함수의 결과값을 시그모이드 함수(Logistic Function)을 이용해 0과 1로 변환 - 시그모이드 함수 시그모이드 함수를 사용하면 직선을 곡선으로 바꿔준다. 값의 범위가 0~1 사이 - 주요 매개변수(하이퍼파라미터) 선형..

[머신러닝] Decision Tree(결정트리) [스마트인재개발원]

Decision Tree(결정트리) Tree를 만들기 위해 예/아니오 질문을 반복하며 학습 분류와 회귀에 모두 사용가능 타깃 값이 한개인 리프 노드를 순수노드라고 한다. 모든 노드가 순수 노드가 될때 까지 학습하면 복잡해지고 과대적합이 된다. 새로운 데이터 포인트가 들어오면 해당하는 노드를 찾아 분류라면 더 많은 클래스를 선택하고, 회귀라면 평균을 구한다. Decision Tree(결정트리) 과대적합 제어 사전 가지치기(pre-pruning) : 노드 생성을 미리 중단하는 방법 사후 가지치기(pruning) : 트리를 만든후에 크기가 작은 노드를 삭제하는 방법 트리의 최대깉이나 리프 노드의 최대 개수를 제어 노드가 분할 하기 위한 데이터 포인트의 최소 개수를 지정 주요 매개변수(Hyperparameter..

[머신러닝] KNN을 이용한 비만도 분석

import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris # sklearn에서 제공하는 붓꽃 데이터 from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.linear_model import LinearRegression 1. 문제정의 500명의 키와 몸무게, 비만도 라벨을 통해서 비만을 판단하는 모델을 만들어보자2. 데이터 수집 2. 데이터 수집 data = pd.read_csv('bmi_500.csv', index_col = "Label" #La..

[머신러닝] 서울시 CCTV현황으로 선형회귀 구하기

먼저 데이터 분석과 전처리부터 한후 선형회귀를 구할거다. 서울시 구별 CCTV 현황 분석하기 서울시 각 구별 CCTV수 파악 인구대비 CCTV 비율을 파악해서 순위매기기 인구대비 CCTV의 예측치를 확인하고, CCTV가 부족한 구 확인 # numpy : 고성능 과학계산을 위한 라이브러리, 다차원 데이터 # pandas : 데이터를 표현식으로 보여준다. 1,2차원 데이터 # matplotlib : 데이터 시각화 import numpy as np import pandas as pd import matplotlib.pyplot as plt 1. csv파일 읽어오기 - 서울시 구별 CCTV현황 cctvSeoul = pd.read_csv('CCTV_in_Seoul.csv', encoding = 'utf-8') #..

[머신러닝] 과대적합과 과소적합 & KNN(K- 최근접 이웃 알고리즘)

일반화 훈련 데이터로 학습한 모델이 예측 데이터에 대해 정확히 예측하도록 하는것 trian(훈련)과 test(예측) 데이터의 비율이 7:3 과대적합과 과소적합의 중간 같은 느낌 예측률이 제일 높다 과대적합 훈련 데이터에 너무 적합되어서 예측 데이터를 넣었을 때 제대로 작동되지 않음 예를 들어 훈련 데이터로 축구공을 넣어서 학습시켜 둥글면 공이라고 인식시키고 싶은데 훈련 데이터에 너무 적합되어 농구공, 야구공 같은 것들은 공이라고 인식하지 못하고 축구공만 공이라고 인식한다. 데이터의 칼럼수가 증가할 수 록 과대적합 확률 증가 train데이터가 많을수록 과대적합 확률 증가 훈련 데이터에는 오차가 적은데 예측 데이터에는 오차가 증가하는 현상 (여기서 오차는 실제 데이터랑 얼마나 다른지 정도로 보면 된다.) (..

[머신러닝] 머신러닝의 개념과 과정

Rule-based expert system (규칙 기반 전문가 시스템) 'if' 와 'else'로 하드 코딩된 명령을 사용하는 시스템 단점: 많은 상황에 대한 규칙들을 모두 만들어 낼 수 없다 제작한 로직이 특정 작업에만 국한된다. 작업이 조금만 변경되더라도 전체 시스템을 다시 만들어야 할 수 있다 규칙을 설계하려면 해당 분야에 대해서 잘 알고 있어야한다 규칙기반 전문가 시스템은 규칙을 사람이 만들어 내는 거라면 머신러닝은 규칙을 기계가 만든다. 머신러닝의 개념 데이터를 기반으로 학습을 시켜 예측하게 만드는 기법 학습을 통해 기계가 스스로 규칙을 만들어 낸다 데이터를 이용하여 특성과 패턴을 학습하고, 그 결과를 바탕으로 미지의 데이터에 대한 미래결과(값, 분포)를 예측하는 것이다 인공지능의 한 분야로 ..

반응형