분류 전체보기
-
sklearn-13 clustering 1 kmeans머신러닝/sklearn 2023. 5. 10. 18:10
1. Kmeans k는 클러스터의 수를 의미하며 means는 각 데이터로부터 그 데이터가 속한 클러스터의 중심까지의 평균 거리를 의미한다. 이 값을 최소화하는 것이 목표이다. 1. k개의 임의의 중심점을 잡는다. 2. 중심점을 기준으로 군집을 형성한다. 3. 군집으로 지정된 데이터를 기반으로 중심점을 업데이트한다. 4. 가장 좋은 중심점을 찾을 때까지 반복한다. 2. python import numpy as np import pandas as pd import sklearn import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') import os from os.path import join from sklearn...
-
sklearn-12 regression 3 svr머신러닝/sklearn 2023. 5. 10. 18:08
1. svr svr은 svm모델을 회귀 문제에 사용한 것이다. from sklearn.svm import SVR svm_regre = SVR() svm_regre.fit(X_train['s6'].values.reshape((-1,1)), y_train) y_pred = svm_regre.predict(X_test['s6'].values.reshape((-1,1))) print('단순서포트벡터머신회귀 r2:{:}'.format(r2_score(y_test,y_pred))) 단순서포트벡터머신회귀 r2:0.055470692167365 svm을 이용한 회귀를 하기 위한 svr을 불러오고 r2 score를 확인한다. for i in [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,1..
-
sklearn-11 regression 2 decison tree regressor머신러닝/sklearn 2023. 5. 10. 18:07
1. decision tree regressor 결정 트리 모델은 데이터의 불순도를 최소화하는 방향으로 분기를 생성한다. 2. python from sklearn.tree import DecisionTreeRegressor dt_regr= DecisionTreeRegressor(max_depth=5) 결정 트리 모델을 불러오고 변수의 깊이를 설정한다. dt_regr.fit(X_train['s6'].values.reshape((-1,1)), y_train) DecisionTreeRegressor DecisionTreeRegressor(max_depth=5) y_pred = dt_regr.predict(X_test['s6'].values.reshape((-1,1))) 데이터를 학습하고 라벨값을 예측한다. p..
-
sklearn-10 regression 1 linear regression머신러닝/sklearn 2023. 5. 10. 18:06
1. linear regression 집의 평수가 클수록 집이 비싼 것처럼 데이터는 어떠한 변수의 값에 따라서 특정 변수의 값이 영향을 받을 수 있다. 따라서 x의 값이 독립적으로 변하면 y의 값이 x의 값에 따라 종속적으로 변하는 관계를 모델링한 것을 선형회귀라고 한다. x값이 여러개라면 다중 선형 회귀이다. 선형 회귀는 학습 속도가 빠르고 예측이 빠르지만 데이터가 선형 관계에 제한되며 특이치에 민감하다는 단점이 있다. 2. python import numpy as np import pandas as pd import sklearn import matplotlib.pyplot as plt from sklearn.datasets import load_diabetes diabetes = load_diabe..
-
sklearn-09 classification 4 ramdom forest머신러닝/sklearn 2023. 5. 10. 18:05
1. random forest 랜덤 포레스트는 의사결정 트리가 과적합이 잘 되는 단점을 극복하기 위한 알고리즘으로 같은 데이터에 대해 의사결정 데이터를 여러 개 만들어 종합하는 방식으로 이 기법을 앙상블이라고 부른다. 랜덤 포레스트는 분류와 회귀 둘 다 사용가능하며 대용량 데이터에 효과적이다. 데이터 크기에 비례하여 트리를 생성하기 때문에 프로세스 시간이 오래 걸리며 모든 트리 모델을 확인하기 어렵기 때문에 해석 가능성이 떨어진다는 단점이 있다. 2. python from sklearn.ensemble import RandomForestClassifier randomforestclassifier 모듈을 불러온다. import os from os.path import join abalone_path = j..
-
sklearn-08 classification 3 decision tree머신러닝/sklearn 2023. 5. 10. 18:04
1. decision tree 의사 결정나무라고 불리는 알고리즘은 모양이 나무를 뒤집어 놓은 것 같아서 decision tree라고 부른다. 시작되는 부분이 루트 노드이며 중간에 위치한 노드는 인터널 노드 마지막 노드는 리프노드이다. 수많은 if문으로 이루어져 있으며 분류모델과 회귀모델 둘 다 사용가능하다. 구조가 간단하여 해석이 용이하지만 과대적합의 위험이 높기 때문에 적절한 트리의 깊이와 노드의 개수를 설정해야 한다. 2. python from sklearn.tree import DecisionTreeClassifier dt = DecisionTreeClassifier(max_depth=3) 모듈을 불러오고 변수를 설정한다. 깊이는 3으로 지정한다. dt.fit(X_train,y_train) y_pr..
-
sklearn-07 classification 2 svm머신러닝/sklearn 2023. 5. 10. 18:04
1. svm support vector machine은 분류를 위하여 기준 선을 정의하는 모델이다. 기준 선과 데이터와의 간격은 마진이다. support vector는 기준선과 가까이 있는 데이터들을 의미한다. 이렇게 2차원에서 선을 그려도 나눌 수 없는 비선형 데이터들을 나누기 위해 차원을 확장한다. 3차원으로 표현하면 선은 평면이 되며 초평면이라고 말한다. 2차원으로 표현한 모습이다. svm은 데이터들과 거리가 가장 먼 초평면을 선택하여 분리하는 방법이다. svm은 오류 데이터에 영향이 적고 과적합되는 경우가 적지만 최적의 모델을 찾기 위해서 다양한 테스트가 필요하기 때문에 학습속도가 느리다는 단점이 있다. 2. python from sklearn.svm import SVC soft vector ma..
-
sklearn-06 classification 1 logistic regression머신러닝/sklearn 2023. 5. 10. 18:03
1. logistic regression 로지스틱 회귀는 이름은 회귀이지만 분류방식으로 작동한다. 데이터를 기준보다 작으면 0으로 분류하고 크면 1으로 분류한다. 로지스틱 회귀는 매우 효율적이고 엄청난 양의 계산 리소스를 필요로 하지 않기 때문에 널리 사용된다. 하지만 로지스틱 회귀는 비선형문제를 해결하는 데 사용할 수 없는 단점이 있다. 로지스틱 회귀와 선형회귀의 차이점은 로지스틱 회귀는 선형회귀에서 구하는 직선 대신 시그모이드 함수를 이용하여 s곡선을 통해 0또는 1로 분류하는 분류 기법이다. 모든 데이터가 직선 형태로 나오지 않기 때문에 다양한 데이터를 표현할 수 있다. 시그모이드함수는 결과 값을 0 또는 1로 반환하기 때문에 분류 문제에 유용하다. 2. 데이터 불러오기 import numpy as..