質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

1564閲覧

KNeighborClassifierの解析(Pythonではじめる機械学習)

hiyokorunner

総合スコア18

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2019/05/22 02:55

『Pythonではじめる機械学習(2.3.2.2 KNeighborsClassifierの解析)』のサンプルコードについてです。

以下のコードを打つとグラフが3つ表示されるはずなのですが、代わりにオブジェクトが返って来てしまいます。
何が問題でしょうか?

python

1for n_neighbors, ax in zip([1,3,9], axes): 2 clf = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X, y) 3 mglearn.plots.plot_2d_separator(clf, X, fill=True, eps=0.5, ax=ax, alpha=.4) 4 mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax) 5 ax.set_title("{} neighbor(s)".format(n_neighbors)) 6 ax.set_xlabel("feature 0") 7 ax.set_ylabel("feature 1") 8axes[0].legend(loc=3)

Python

1<matplotlib.legend.Legend at 0x1247fc2b0>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2019/05/22 03:47

どんな環境(方法)でコードを実行していますか? Jupyterやターミナル、IDEなどいろいろあるはずです。そのコードでグラフが表示されるのは限られた環境だけです(Jupyterならいけるはず)。
hiyokorunner

2019/05/22 08:17

ご回答ありがとうございます。 環境はJupyterです。 他のサンプルコード(Ex. mglearn.plots.plot_knn_classification(n_neighbors=1)) ではグラフを描画できるのですが、このコードだけ出来ないです。。
hiyokorunner

2019/05/24 02:21

解決しました。 fig, axes = plt.subplots(1, 3, figsize=(10,3)) と、 for n_neighbors, ax in zip([1,3,9], axes): clf = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X, y) mglearn.plots.plot_2d_separator(clf, X, fill=True, eps=0.5, ax=ax, alpha=.4) mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax) ax.set_title("{} neighbors(s)".format(n_neighbors)) ax.set_xlabel("feature 0") ax.set_ylabel("feature 1") axes[0].legend(loc=3) を別々のタブ?に記入していたのが原因のようです。 (fig, axes = plt.subplots(1, 3, figsize=(10,3)))で一回実行したため、空のグラフが描画されてしまった) ご回答ありがとうございました。
hayataka2049

2019/05/24 05:08

ご報告ありがとうございます。そこまで思い浮かばなかったですが、言われてみればなるほどです。
guest

回答1

0

自己解決

Python

1fig, axes = plt.subplots(1, 3, figsize=(10,3))

と、

Python

1for n_neighbors, ax in zip([1,3,9], axes): 2clf = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X, y) 3mglearn.plots.plot_2d_separator(clf, X, fill=True, eps=0.5, ax=ax, alpha=.4) 4mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax) 5ax.set_title("{} neighbors(s)".format(n_neighbors)) 6ax.set_xlabel("feature 0") 7ax.set_ylabel("feature 1") 8axes[0].legend(loc=3)

を別々のタブ?に記入したのが原因。

Python

1fig, axes = plt.subplots(1, 3, figsize=(10,3))

で一回区切って実行したので、空のグラフが描画されてしまった)

投稿2019/05/24 02:24

hiyokorunner

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問