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

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

新規登録して質問してみよう
ただいま回答率
85.47%
機械学習

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1795閲覧

決定木モデルで訓練データを代入する箇所でエラーが出ます

Kousuke.O

総合スコア0

機械学習

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/13 02:49

前提・実現したいこと

プログラミング初心者です。Python notebookを使用してDecisonTreeClassifierとexport_graphvizで決定木モデルの可視化を行いたいと考えています。その途中の訓練データをモデルに代入する際に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ


ValueError Traceback (most recent call last)
<ipython-input-14-5846f1a89c94> in <module>
1 # 訓練データをモデルに代入し学習
----> 2 clf3.fit(x_train_val,y_train_val)

~\Anaconda3\lib\site-packages\sklearn\tree_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
875 sample_weight=sample_weight,
876 check_input=check_input,
--> 877 X_idx_sorted=X_idx_sorted)
878 return self
879

~\Anaconda3\lib\site-packages\sklearn\tree_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
171
172 if is_classification:
--> 173 check_classification_targets(y)
174 y = np.copy(y)
175

~\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py in check_classification_targets(y)
167 if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',
168 'multilabel-indicator', 'multilabel-sequences']:
--> 169 raise ValueError("Unknown label type: %r" % y_type)
170
171

ValueError: Unknown label type: 'continuous'

該当のソースコード

Python notebook

import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
df=pd.read_excel("1.xlsx")

出力変数を抜き出します
y=df["A"]
出力変数を抜き出します
x=df.iloc[:,1:-1]

訓練データと検証データに分割します
from sklearn.model_selection import train_test_split
x_train_val,x_test,y_train_val,y_test=train_test_split(x,y,test_size=0.1,random_state=1)

max_depth=3で決定木モデルの作成
clf3=DecisionTreeClassifier(max_depth=3,min_samples_leaf=100)

訓練データをモデルに代入し学習
clf3.fit(x_train_val,y_train_val)

質問の内容

上のコードで、fitする際にエラーメッセージが表示されてしまいます。
できる限り調べたのですが、原因がわかりません。
どなたかご教示いただけますでしょうか。

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

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

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

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

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

guest

回答1

0

y_train_valが連続値だと言われているので、y=df["A"]が名義尺度とは認識されない何かなのでしょう。

投稿2020/05/14 07:11

hayataka2049

総合スコア30933

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問