머신러닝 알고리즘 지도 학습 - 정답지(Labeling)이 있는 데이터를 대상으로 학습하는 과정 분류(classification) 예측,회귀(Regression) 비지도 학습 - 정답지(Labeling)이 없는 데이터를 비슷한 특징끼리 군집화하여 새로운 결과를 예측하는 과정 - 답을 맞히는 용도로 사용하진 않음 차원축소(Dimension Reduction) 군집화(Clustering) 연관성 규칙 발견(Association Rule) 데이터 전처리 정규화(Normalization) feature마다 스케일이 크게 다를 경우의 전처리 방법 - Min-Max scaling 데이터의 최소값은 0, 최대값은 1로 변환 - 표준화(Standardization) feature마다 해당 값의 단위가 다를 때, 대상 ..
단어 집합 단어 집합은 서로 다른 단어들의 집합이다. book과 books는 비슷해보이지만 단어 집합의 의미에선 다른 단어이다. 이렇게 중복을 허용하지 않고 모든 단어를 모아 놓은 것을 단어 집합이라고 한다. 이 단어들을 가지고 숫자(사실은 벡터)로 바꾸는 방법을 배운다. 원핫 인코딩을 하기 전에 먼저 단어 집합을 만들어야 한다. 중복 없이 다른 단어 500개가 모여서 문장을 만들면 크기가 500인 단어 집합이 만들어진다. 이 집합에 1부터 500까지의 인덱스를 부여한다. 고유한 인덱스를 가진 단어들을 벡터로 바꿔야한다. 이렇게 만들어진 벡터 중 표현하고 싶은 단어의 인덱스에 1을 부여하고, 다른 인덱스는 0을 부여한다. 케라스에서 지원하는 to_categorical을 이용해 원핫인코딩을 사용할 수 있다..
머신러닝 학습을 할 때 내가 준비한 데이터로 train set과 test set을 나눠 학습을 하면 고정된 set에만 올바르게 동작하는 과적합이 발생한다. 과적합이 발생했을 때 해결 방법은 간단하게 데이터를 늘려 학습량을 늘리는 방법이 있다. 하지만 무턱대고 학습량을 늘리면 시간이 너무 오래걸릴 수 있다. 이에 대한 해결책을 아래에서 설명했다. https://watchout31337.tistory.com/403 과적합을 막는 방법 1. 데이터의 양 늘리기 데이터의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 쉽게 학습하는 과적합 현상이 발생한다. 따라서 데이터의 양을 늘려 모델이 데이터의 일반적인 패턴 watchout31337.tistory.com 이런 방법들 말고도 앙상블(Ensemble)..
SVM이란 N차원 공간을 N-1차원으로 나누는 분류 기법이다. 이렇게 0과 1을 나누는 최적의 경계를 찾는 기법을 말한다. 경계를 기준으로 각 클래스의 말단 데이터(support vector)와 경계 사이의 공간을 마진이라고 하고 이 마진을 최대화 하는 경계를 찾는다. 마진이 최대화해야 robustness값이 최대가 되기 때문이다. robust(튼튼한)의 의미는 최적으로 일반화를 하여 이상치(outlier)의 값이 들어와도 크게 흔들리지 않는다는 말이다. 파란 클래스와 빨간 클래스의 값들이 경계쪽으로 조금 더 다가와도 경계에 크게 영향을 미치않아야한다. 새로운 데이터가 들어와도 경계에 영향을 미치지 않을 수 있다. N차원은 N-1차원으로 나눈다는 의미를 생각해보면 위 그림에서 2차원 공간을 분류하기 위해..
회귀 회귀는 예측하고자 하는 타겟값이 실수인 경우에 사용한다. 선형 회귀를 통한 대상의 길이 예측, 예상 거래량, 대상이 참일 확률 등과 같이 결과값이 연속성을 지닌 경우에 사용한다. 분류 분류는 예측하고자 하는 타겟값이 범주형 변수인 경우에 사용한다. 연속성을 지니지 않고 이산값을 가진다. 0 과 1로 처리할 수 있는 값을 의미하고, 참/거짓, 여러 대상 중 하나의 타겟으로 분류하는 등에 사용한다. 분류는 이진 분류와 다중 분류가 있는데 이진 분류는 0 or 1로 분류하는 것이고, 다중 분류는 여러 대상 중 하나로 분류하는 것이다.
#다중회귀, 길이,높이,두께 데이터를 모두 사용함. #판다스로 csv파일 가져오기 import pandas as pd df = pd.read_csv('https://raw.githubusercontent.com/rickiepark/hg-mldl/master/perch_full.csv') perch_full = df.to_numpy() print(perch_full) import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import PolynomialFeatures #특성을 제곱한 항을 추가하고 특성끼리 서로 곱한 항을 추가 perch_weight = np.array([5.9, 32...
from sklearn.neighbors import KNeighborsClassifier import numpy as np import matplotlib.pyplot as plt bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0] bream_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0..
- Total
- Today
- Yesterday
- AVB
- AVTP
- many-to-many
- many-to-one
- SOME/IP
- 케라스
- 차량 네트워크
- 크로스 엔트로피
- 단순선형회귀
- SVM
- PCA
- 로지스틱회귀
- porks
- CAN-FD
- 딥러닝
- HTML
- json2html
- problem statement
- one-to-many
- AE
- 이상탐지
- 차량용 이더넷
- automotive ethernet
- Ethernet
- 논문 잘 쓰는법
- 회귀
- cuckoo
- 머신러닝
- automotive
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |