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

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

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

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

解決済

Pythonでの機械学習のf1_score部分でのエラーについて

gymgym
gymgym

総合スコア94

Python 3.x

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

4回答

0評価

1クリップ

7054閲覧

投稿2018/05/01 03:46

Python

feature_df01 = get_train("OpenBCI-RAW-ita01.txt", 6.67, list01) feature_df02 = get_train("OpenBCI-RAW-ita02.txt", 7.14, list02) feature_df03 = get_train("OpenBCI-RAW-ita03.txt", 7.52, list03) train_feature = pd.concat([feature_df01, feature_df02]) labels_t = feature_df03['labels'] labels_t = np.array(labels_t.values.flatten()) del feature_df03['labels'] labels = train_feature['labels'] labels = np.array(labels.values.flatten()) del train_feature['labels'] y_train = labels[:90] y_test = labels_t pca = PCA(n_components=50) pca.fit(train_feature) X_train = pca.transform(train_feature) train_feature = pd.DataFrame(train_feature) lda = LDA(n_components=2) lda.fit(X_train, y_train) X_train = lda.transform(X_train) X_test = np.empty((45, 2), dtype='float32') for i in range(1, 45): X = feature_df03.ix[i, :] X = X.reshape(1, -1) X = pca.transform(X) X = lda.transform(X) np.append(X_test, X) X_test1 = X_test[:15, :] y_test1 = y_test[:15] X_test2 = X_test[15:30, :] y_test2 = y_test[15:30] X_test3 = X_test[30:45, :] y_test3 = y_test[30:45] print(X_test1.shape,X_test2.shape,X_test3.shape) print(len(y_test1),len(y_test2),len(y_test3)) forest = RandomForestClassifier(n_estimators=300, min_samples_split=2, max_depth=3, max_features='auto') forest.fit(X_train, y_train) w1 = f1_score(y_test1, forest.predict(X_test1),average = 'micro') w2 = f1_score(y_test2, forest.predict(X_test2),average = 'micro') w3 = f1_score(y_test3, forest.predict(X_test3),average = 'micro') print(w1,w2,w3)

以上のようなコードを書いたのですが、

Traceback (most recent call last): File "forest_pca1.4.py", line 376, in <module> w1 = f1_score(y_test1, forest.predict(X_test1),average = 'micro') File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/ensemble/forest.py", line 538, in predict proba = self.predict_proba(X) File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/ensemble/forest.py", line 578, in predict_proba X = self._validate_X_predict(X) File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/ensemble/forest.py", line 357, in _validate_X_predict return self.estimators_[0]._validate_X_predict(X, check_input=True) File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/tree/tree.py", line 373, in _validate_X_predict X = check_array(X, dtype=DTYPE, accept_sparse="csr") File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/utils/validation.py", line 453, in check_array _assert_all_finite(array) File "/Users/beta/.pyenv/versions/anaconda3-4.1.1/lib/python3.5/site-packages/sklearn/utils/validation.py", line 44, in _assert_all_finite " or a value too large for %r." % X.dtype) ValueError: Input contains NaN, infinity or a value too large for dtype('float32').

以上のようなエラーが出たり出なかったりします。
どのようなことが原因なのでしょうか。
よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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