2016-10-08 1 views
0

J'essaie d'utiliser RFE pour la première fois et frapper la tête contre un « objet dataframe n'est pas erreur appelable ».pas à pas dans RFE et obtenir « objet dataframe n'est pas appelable » erreur

Voici mon code

X, y = df5(n_samples=875, n_features=10, random_state=0) 
estimator = SVR(kernel="linear") 
selector = RFE(LinearRegression, step=1, cv=5) 
selector = selector.fit(X, y) 
df5([ True, True, True, True, True, 
     False, False, False, False, False], dtype=bool) 

selector.ranking_ 
df5([1, 1, 1, 1, 1, 6, 4, 3, 2, 5]) 

Je suis à la recherche d'un ensemble de données avec 49 caractéristiques et la sortie que je suis à la recherche est que ces caractéristiques doivent être conservés et qui expulsé.

points de bonus si quelqu'un peut me aider comment l'obtenir dans un RFECV!

+0

Que voulez-vous en faisant 'DF5 ([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])'? – sergzach

+0

Je ne me souviens pas d'où viennent ces chiffres. Je regarde probablement le code de quelqu'un d'autre. En fin de compte ce que je veux, ce sont les fonctionnalités que je devrais utiliser pour mon modèle. – ajbentley

+0

Voulez-vous des colonnes? – sergzach

Répondre

0

Si vous voulez sélectionner des colonnes d'abord déterminer les informations sur votre dataframe puis sélectionnez les caractéristiques requises.

# the next 2 lines is to initialize DataFrame object (just for the example) 
>>> from pandas import DataFrame 
>>> df = DataFrame.from_dict({'one': range(10), 'two': range(10, 0, -1), 'three': [3 for x in range(10)]}) 

# now figure out what columns you df has: 
>>> df.head() 
    one three two 
0 0  3 10 
1 1  3 9 
2 2  3 8 
3 3  3 7 
4 4  3 6 
5 5  3 5 
6 6  3 4 
7 7  3 3 
8 8  3 2 
9 9  3 1 

# Now you can slice specific columns (features in your case): 
>>> df[['one', 'two']] 
    one two 
0 0 10 
1 1 9 
2 2 8 
3 3 7 
4 4 6 
5 5 5 
6 6 4 
7 7 3 
8 8 2 
9 9 1 

Vos noms de fonctions sont-ils numériques? Je ne suis pas sûr. Vérifie ça.

+0

J'apprécie votre aide avec ceci. C'était clairement au-delà de mes capacités et j'ai fini par aller dans une autre direction mais j'apprécie vraiment votre aide. – ajbentley

+0

@ajbentley Votre problème a-t-il été résolu ou non? – sergzach

+0

non, mais je ne cherche plus de réponse moi-même. Quand je suis allé à supprimer on m'a conseillé contre cela alors je l'ai laissé tomber. Devrais-je le tuer? Pour répondre à votre question, cependant, les noms de caractéristiques sont toutes des chaînes. – ajbentley