반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 대이터
- KNeighborsClassifier
- broscoding
- 데이터전문기관
- mglearn
- pycharm
- 자료구조
- html
- discrete_scatter
- java역사
- classification
- cudnn
- web
- web 개발
- inorder
- Keras
- 재귀함수
- vscode
- 머신러닝
- CES 2O21 참여
- postorder
- paragraph
- C언어
- 결합전문기관
- CES 2O21 참가
- web 사진
- 웹 용어
- web 용어
- bccard
- tensorflow
Archives
- Today
- Total
bro's coding
sklearn.base.BaseEstimator, ClassifierMixin(분류기 만들기) 본문
[AI]/python.sklearn
sklearn.base.BaseEstimator, ClassifierMixin(분류기 만들기)
givemebro 2020. 4. 27. 11:11반응형
from sklearn.base import BaseEstimator, ClassifierMixin
class Myclassifier(BaseEstimator,ClassifierMixin):
def __init__(self):
# __init__ 메소드에 필요한 모든 매개변수를 나열함
result=0
def fit(self,X,y):
# fit 메소드는 X와 y매개변수만을 갖음
# 모델 학습
return self
def predict(self,X):
# X만 받음
pred_y=np.zeros(len(X))+self.result
return pred_y
score 등을 만들지 않아도 사용 할 수 있다.
from sklearn.base import BaseEstimator, TransformerMixin ,ClassifierMixin
import numpy as np
class MYClass(BaseEstimator,ClassifierMixin):
def __init__(self):
self.result=0
self.n_class=0
self.centers=[]
def fit(self,X,y):
self.n_class=y.max()
for i in range(self.n_class):
x=X[y==i]
self.centers.append(x.mean(axis=0))
return self
def predict(self,X):
pred_y=[]
for x in X:
i=[((x-c)**2).sum()for c in self.centers]
pred_y.append(np.argmin(i))
return np.array(pred_y)
from sklearn.datasets import load_iris
iris=load_iris()
X=iris.data
y=iris.target
model=MYClass()
model.fit(X,y)
model.predict(X)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int64)
model.score(X,y)
0.6666666666666666
model.centers
array([5.006, 3.418, 1.464, 0.244]), array([5.936, 2.77 , 4.26 , 1.326])]
반응형
'[AI] > python.sklearn' 카테고리의 다른 글
sklearn.textdata.단어집과 문장 대조하기 (0) | 2020.04.27 |
---|---|
sklearn.feature_extraction.text.CountVectorizer (0) | 2020.04.27 |
sklearn.textdata.datasets.load_files (0) | 2020.04.27 |
sklearn.base.BaseEstimator, TransformerMixin(추정기 만들기) (0) | 2020.04.27 |
sklearn.pipeline.Pipeline (0) | 2020.04.27 |
sklearn.precision,recall (0) | 2020.04.24 |
sklearn.metrics.confusion_matrix(판정표) (0) | 2020.04.24 |
sklearn.model_selection.cross_val_score.LeaveOneOut (0) | 2020.04.24 |
Comments