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

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

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

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

Q&A

0回答

734閲覧

Python Filter Method実装中のエラー

Chuchuchu

総合スコア16

Python 3.x

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

0グッド

0クリップ

投稿2019/06/18 05:27

編集2019/06/19 02:33

下のコードを実際に動かそうとすると
ValueError: bad input shape (1000, 4)とエラーが発生してしまいます。
cross_val_scoreの所が原因なはずですがどのようにすればエラーが消えますでしょうか。分類元のデータの個数とその分類結果の個数を合わせる必要があるのは分かりますが数変えたりしても解消されません。
扱うデータの中身は
V0 V1 V2 ・・・V10 Class

2 34 53・・・ 5   1



32 ・・・   32  4


のように全部で3000近いビッグデータで、Classが1~4に分かれていてそのクラスを予測する目的です。

Python

1#目視ではなく機械的に選択。ANOVAのF値を用いる 2##make matrix 3X = df.drop('Class', axis=1) 4y = df.Class 5 6scores=[] 7for n in tqdm(range(1,len(X.columns))): 8 print('\n説明変数の数n=',n) 9 ##select features 10 select = SelectKBest(k=n) 11 select.fit(X, y) 12 mask = select.get_support() 13 X_selected = X.iloc[:,mask] 14 ##10-foldCV, LogisticRegression, PR_AUC 15 #cv=StratifiedKFold(n_splits=3) 16 #cross_val_scoreは、classifierとトレーニング用データ、テスト用データを指定してその精度を割り出せる便利なツール 17 #cvは交差検証の略でデータのsplitの方法を指定できる 18 #n_splitはデータをいくつに分けるかを指定するもの。defaultは3。 19 logreg = LogisticRegression() 20 kfold=KFold(n_splits=3) 21 pr_auc = cross_val_score(logreg, X_selected, y, scoring="average_precision", cv=kfold) 22 #pr_auc = cross_val_score(LogisticRegression(), X_selected, y, scoring="average_precision", cv=kfold) 23 scores.append(np.mean(pr_auc)) 24 print('平均のPR_AUC:',scores[n-1])

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

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

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

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

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

r_takahama

2019/06/30 07:25

出力されたエラーメッセージを全てコードブロックで追記していただけませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問