jupyternotebook上でPythonを実行しています。
リンク内容
このリンク先を参考にし、機械学習においてラッパー法を適用するコードを書いています。
#課題1_主成分分析 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split import sklearn from sklearn.neighbors import KNeighborsClassifier from sklearn import preprocessing pima = pd.read_csv('data3/pima.csv' ) pima = pima.replace("No",0) pima = pima.replace("Yes",1) knn = KNeighborsClassifier(n_neighbors=4) from mlxtend.feature_selection import SequentialFeatureSelector as SFS sfs1 = SFS(knn, # 使う学習器 k_features=3, #特徴をいくつまで選択するか forward=True, #Trueでforward selectionになる。Falseでback floating=False, #後に説明するが、forward selectionの亜種を行うためのもの。 verbose=2, #実行時のlogをどれだけ詳しく表示するか scoring='accuracy', # 評価指標 cv=5) #クロスバリデーション #ちなみにクロスバリデーションをしない(cv=0)とすると、最終的に選ばれる特徴が変わります。 X = preprocessing.scale(pima[["npreg","glu","bp","skin","bmi","ped","age"]]) y = pima.type sfs1 = sfs1.fit(X, y) sfs1.subsets_ print('最終的に選ばれた3つの特徴') for i in sfs1.k_feature_idx_: print(i,'番目 ',pima.feature_names[i])
どうやらfeature_namesのオブジェクトがないようです。
feature_namesはダウンロードするものではないので、どうすれば解決できるかわかりません。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。