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

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

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

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

Q&A

0回答

384閲覧

pythonでfitがうまくできません

listen

総合スコア0

Python

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

1グッド

0クリップ

投稿2023/02/03 08:28

編集2023/02/04 04:47

実現したいこと

  • ニューラルネットワークのパーセプトロンを実行したい

前提

テキストに載っているアヤメのデータを別データに変えてコードを書いていました。
sklearnのパーセプトロンを実行したいと思っていますが、データのfitでエラーが出てしまいました。

エラーメッセージが長くどこをコピーすれば良いか分からなかったので、かいつまんでコピーさせていただきました。もし他の部分に重要事項が記載されておりましたら、ご教授お願いします。
(python初心者ですが、よろしくお願いいたします。)

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

ValueError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_19348/2698015120.py in <module> ----> 1 housing_pcp.fit(X_train,y_train) ~\anaconda3\lib\site-packages\sklearn\linear_model\_stochastic_gradient.py in fit(self, X, y, coef_init, intercept_init, sample_weight) 727 Returns an instance of self. 728 """ --> 729 return self._fit(X, y, alpha=self.alpha, C=1.0, 730 loss=self.loss, learning_rate=self.learning_rate, 731 coef_init=coef_init, intercept_init=intercept_init, ~\anaconda3\lib\site-packages\sklearn\linear_model\_stochastic_gradient.py in _fit(self, X, y, alpha, C, loss, learning_rate, coef_init, intercept_init, sample_weight) 567 self.t_ = 1.0 568 --> 569 self._partial_fit(X, y, alpha, C, loss, learning_rate, self.max_iter, 570 classes, sample_weight, coef_init, intercept_init) 571 ~\anaconda3\lib\site-packages\sklearn\linear_model\_stochastic_gradient.py in _partial_fit(self, X, y, alpha, C, loss, learning_rate, max_iter, classes, sample_weight, coef_init, intercept_init) 497 n_samples, n_features = X.shape 498 --> 499 _check_partial_fit_first_call(self, classes) 500 501 n_classes = self.classes_.shape[0] ~\anaconda3\lib\site-packages\sklearn\utils\multiclass.py in _check_partial_fit_first_call(clf, classes) 337 else: 338 # This is the first call to partial_fit --> 339 clf.classes_ = unique_labels(classes) 340 return True 341 ~\anaconda3\lib\site-packages\sklearn\utils\multiclass.py in unique_labels(*ys) 96 _unique_labels = _FN_UNIQUE_LABELS.get(label_type, None) 97 if not _unique_labels: ---> 98 raise ValueError("Unknown label type: %s" % repr(ys)) 99 100 ys_labels = set(chain.from_iterable(_unique_labels(y) for y in ys)) ValueError: Unknown label type: (array([ 5. , 6.3, 7. , 7.2, 8.1, 8.3, 8.5, 8.7, 8.8, 9.5, 9.6, 10.2, 10.4, 10.5, 10.8, 10.9, 11.3, 11.5, 11.7, 11.8, 11.9, 12. , 12.1, 12.5, 12.6, 12.7, 12.8, 13. , 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.8, 13.9, 14. , 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.8, 14.9, 15. , 15.1, 15.2, 15.3, 15.4, 15.6, 15.7, 16. , 16.1, 16.2, 16.3, 16.4, 16.6, 16.7, 16.8, 17.1, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9, 18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.8, 18.9, 19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20. , 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9, 21. , 21.1, 21.2, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 22. , 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9, 23.1, 23.2, 23.3, 23.4, 23.6, 23.7, 23.8, 23.9, 24. , 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 25. , 25.1, 25.2, 25.3, 26.4, 26.5, 26.6, 27. , 27.1, 27.5, 27.9, 28. , 28.2, 28.4, 28.5, 28.6, 28.7, 29. , 29.1, 29.6, 29.8, 29.9, 30.1, 30.3, 30.7, 30.8, 31. , 31.1, 31.5, 31.6, 31.7, 32. , 32.2, 32.4, 32.5, 32.7, 33. , 33.1, 33.2, 33.4, 33.8, 34.6, 34.7, 34.9, 35.1, 35.2, 35.4, 36. , 36.1, 36.2, 36.4, 36.5, 37. , 37.3, 37.6, 37.9, 39.8, 41.7, 42.3, 43.1, 43.5, 43.8, 44. , 45.4, 46. , 46.7, 48.5, 48.8, 50. ]),)

該当のソースコード

from sklearn.preprocessing import StandardScaler sc = StandardScaler() sc.fit(housing_X) housing_X = sc.transform(housing_X) from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(housing_X,housing_y, test_size = 0.3, random_state=0) from sklearn.linear_model import Perceptron # 学習 housing_pcp = Perceptron(max_iter=40, tol=1e-3, eta0=1.0, shuffle=True) housing_pcp.fit(X_train,y_train)

試したこと

調べたところ、y_trainのデータに問題ありそうだと分かり、y_trainがpandas.core.series.Seriesだったのをnumpy.ndarrayに変換してみましたが、何も変わらなかったです。
またX_trainの方だけ標準化しております。

urbainleverrier👍を押しています

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

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

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

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

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

can110

2023/02/03 08:58

どこでどのようなエラーが起こったのかが詳しく分かるように ソースコードや、特にエラーメッセージは全文(Traceback)をそのまま提示ください。 フォルダ名など個人名などが含まれる部分は伏せてかまいません。
jbpb0

2023/02/03 12:09

データに依存する話だと思うので、エラーが出るデータを他人が再現できるように、データを作る部分のコードを質問に追記した方が、回答が得られやすくなると思います データの内容が本当のものと全く同じではなくても、質問と同じエラーが出るデータが再現できれば大丈夫です
meg_

2023/02/03 13:41

> sklearnのパーセプトロンを実行したいと思っていますが モデル部分のコードを載せていただけますか?
listen

2023/02/04 04:50

皆さま、ご質問ありがとうございます。 コードとエラーを追記させていただきました。データはボストンの住宅価格のものです。
meg_

2023/02/04 05:28

> テキストに載っているアヤメのデータを別データに変えてコードを書いていました。 > データはボストンの住宅価格のものです。 アヤメの件は分類かとおもいますが、ボストンの件は分類ではないですよね?そのあたりを見直されてはどうでしょうか? また、追記されたコードは「NameError: name 'housing_X' is not defined」が発生して実行できませんでした。実行可能なコードを示していただけると回答がつきやすくなるかと思います。
jbpb0

2023/02/04 23:42

> from sklearn.linear_model import Perceptron は、 https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Perceptron.html に「Linear perceptron classifier」とあるので、「分類」モデル(classifier)です > データはボストンの住宅価格 は、 https://qiita.com/kwi0303/items/989b3b9ee6eabb067892 とかのように、一般的には数値を予測する「回帰」モデル(regressor)に使うデータなので、「分類」モデルに使うと > ValueError: Unknown label type:... みたいになります 「分類」モデルではなく「回帰」モデルを使ってみてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問