前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
TypeError Traceback (most recent call last)
<ipython-input-15-c84a6051cb0c> in <module>()
41
42 plt.figure(figsize=(12,8))
---> 43 plot_decision_boundary(tree_clf, X, y)
44 plot_datasets(X, y)
45 plt.show()
<ipython-input-15-c84a6051cb0c> in plot_decision_boundary(model, X, y, margin)
11 from matplotlib.colors import ListedColormap
12 def plot_decision_boundary(model,X, y, margin=0.3):
---> 13 _x1 = np.linspace(X[:0].min-margin,X[:0].max()+margin,100)
14 _x2 = np.linspace(X[:1].min-margin,X[:1].max()+margin,100)
15 x1,x2 = np.meshgrid(_x1,_x2) # https://python.atelierkobato.com/meshgrid/
TypeError: unsupported operand type(s) for -: 'builtin_function_or_method' and 'float'
該当のソースコード
import numpy as np
import matplotlib.pyplot as plt
#import mglearn
from sklearn.datasets import make_moons
moons = make_moons(n_samples =200, noise=0.2, random_state=0)
X = moons[0]
y = moons[1]
from matplotlib.colors import ListedColormap
def plot_decision_boundary(model,X, y, margin=0.3):
_x1 = np.linspace(X[:0].min-margin,X[:0].max()+margin,100)
_x2 = np.linspace(X[:1].min-margin,X[:1].max()+margin,100)
x1,x2 = np.meshgrid(_x1,_x2)
X_new = np.c[x1.ravel(),x2.rabel()] https://techacademy.jp/magazine/18935
y_pred = model.predict(X_new).reshape(x1.shape)
custom_cmap = ListedColormap(['mediumblue', 'orangered'])
plt.contourf(x1, x2, y_pred, alpha=0.3, cmpap=custom_cmap)
def plot_datasets(X,y):# https://qiita.com/cnloni/items/20b5908fbae755192498
plt.plot(X[:,0][y==0,],X[:,1][y==0],"bo", ms=15)
plt.plot(X[:,0][y==1,],X[:,1][y==1],"r^", ms=15)
plt.xlabel("$x_0$", fontsize=30)
plt.ylabel("$x_1$", fontsize=30, rotation=0)
plt.figure(figsize=(12,8))
plot_datasets(X,y)
plt.show()
""" ここから分類器にあてはめて分類を実行していく 訓練データとテストデータに分けて,学習させる """
""" 決定木で分類 """
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
訓練データと学習データに分割
X_train,X_test, y_train, y_test = train_test_split(X, y, random_state=0)
tree_clf = DecisionTreeClassifier().fit(X_train, y_train)
plt.figure(figsize=(12,8))
plot_decision_boundary(tree_clf, X, y)
plot_datasets(X, y)
plt.show()
ソースコード
試したこと
'builtin_function_or_method' and 'float'
について,各種検索しましたが,原因不明です。
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー