実現したいこと
タイトルの通り、覚えていたものをわざと逆に答えて間違える、あまのじゃくみたいな分類器を作りたいです。
自分で試した入力コード
import numpy as np from sklearn import datasets iris = datasets.load_iris() X = iris.data[iris.target!=2, 0:2] y = iris.target[iris.target!=2] from sklearn.base import BaseEstimator, ClassifierMixin import random class ContraryClassifier(BaseEstimator, ClassifierMixin): "覚えていたものをわざと逆に答えて間違える分類器" def __init__(self): self.X = [] self.y = [] def fit(self, X, y): self.X = X self.y = y return self def predict1(self, X): "記憶とは逆の答えを出す。記憶にないものは乱数を利用する。" pred_y = np.zeros(len(X), dtype=int) for i, x in enumerate(X): for xi, label in zip(self.X, self.y): if np.array_equal(xi, x): pred_y[i] = label # ここを変えなければいけない break else: pred_y[i] = random.randint(0, 1) return pred_y
コード内のコメント文にも書いた通り、
if np.array_equal(xi, x): pred_y[i] = label
の部分を変えなければいけないと思うのですが、どうすればいいのかわからないです。どなたか解決策を教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。