再说一次,我对python非常陌生。下面我提供了我的代码(用于特征选择的分类),而不是数据,因为它是相当高维的,但我相信这个问题是相当独立于数据的。我的问题有两个:我想要所有子图的轴标签,并且我想知道如何在每行的子图数量不同的地方进行子图(我有14个子图,目前在三行中):
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.model_selection import StratifiedKFold
from sklearn.feature_selection import RFECV
from sk
我试图使用以下代码在给定的数据集中使用scikit learn进行特性选择:
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import RFECV
# Data Processing
df = pd.read_csv('Combined_Data_final_
我想打印所有与rfecv相关的特性。
# Create the RFE object and compute a cross-validated score.
svc = SVC(kernel="linear",C=5)
# The "accuracy" scoring is proportional to the number of correct classifications
rfecv = RFECV(estimator=svc, step=2, cv=StratifiedKFold(4),scoring='accuracy')
rfec
通过交叉验证,使用RFECV模块实现递归特征消除。RFE涉及到反复训练完整特征集上的估计器,然后删除信息最少的特征,直到收敛到最优的特征数。
为了通过估值器获得最优的性能,我想为估计器为每个特性选择最佳的超参数,(为清晰而编辑)。估计量是线性支持向量机,所以我只研究C参数。
最初,我的代码如下所示。但是,这只是在开始时对C进行了一次网格搜索,然后在每次迭代中使用了相同的C。
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV
from sklearn i
我正在使用Scikit-learn RFECV为使用交叉验证的逻辑回归选择最重要的特征。假设X是n,x个特征数据帧,y表示响应变量:
from sklearn.pipeline import make_pipeline
from sklearn.grid_search import GridSearchCV
from sklearn.cross_validation import StratifiedKFold
from sklearn import preprocessing
from sklearn.feature_selection import RFECV
import sklearn
在用KNN对估计量进行拟合之前,如何使用sklearn方法选择传递给LinearDiscriminantAnalysis(n_components=2)方法的最优特征进行降维。
pipeline = make_pipeline(Normalizer(), LinearDiscriminantAnalysis(n_components=2), KNeighborsClassifier(n_neighbors=10))
X = self.dataset
y = self.postures
min_features_to_select = 1 # Minimum number of featu
我想写一段代码,它可以在几个处理器和预处理器上进行网格搜索,也可以在不同的功能组合上进行搜索。我通过在gridsearchCV中使用RFECV实现了这一点。然而,这需要很长时间才能运行。因此,我颠倒了顺序。我做了一个网格搜索,然后我把它放在RFECV里面。现在,我想要查看并打印出在最佳模型中实际选择了哪些特征。我尝试了这个网站上的几个解决方案,但都没有奏效。如何访问所选功能?grid_dem.get_support(indices=True)和grid_dem.support_都不起作用。我得到了这个错误和其他类似的错误:AttributeError: 'RFECV' obje
from sklearn.feature_selection import RFECV
from sklearn.metrics import accuracy_score
from sklearn.model_selection import cross_val_predict, KFold
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.pipeline import Pipeline
from sklearn.
我从中稍微修改了教程
所以X有一个缺失的值。这不适用于原始的svc,所以我尝试创建一个clf作为管道--一个输入程序,然后一个svc。但是,我仍然会得到一个丢失的值错误。如何将RFECV这样的特征选择方法与管道中的分类器链接起来?
print(__doc__)
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.model_selection import StratifiedKFold
from sklearn.feature_selection import RFECV
from sklearn
我试图通过学习RFECV对象和交叉验证分数,以返回模型的性能与选择的功能和特征排名。
但是,我得到了"RFECV对象没有support_属性“错误,很可能是因为我没有将它与数据相匹配。我需要一些帮助,以确定哪里适合数据,以及如何确保没有数据泄漏到测试数据集。
原始数据集是一个timeseries数据,因此我使用TimeSeries Split进行拆分。
from sklearn.datasets import make_classification
from sklearn.feature_selection import RFE, RFECV
from sklearn.tree im
我想执行recursive feature elimination with cross validation (rfecv)在10倍交叉验证(即cross_val_predict或cross_validate)在学习。
由于rfecv本身在其名称中有交叉验证部分,所以我不清楚如何做到这一点。我的当前代码如下所示。
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
from sklearn.ensemble import RandomForestClassifier
我对机器学习还是很陌生的,并且试图自己解决问题。我正在使用SciKit学习,并拥有一组包含大约20,000个功能(n_features=20,000)的tweet。到目前为止,我的查准率、召回率和f1分数都在79%左右。我想使用RFECV进行特征选择,并提高我的模型的性能。我已经阅读了SciKit学习文档,但对于如何使用RFECV仍然有些困惑。
这是我到目前为止掌握的代码:
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTr
我想应用一个包装-方法,如递归功能消除在我的回归问题与科学工具包-学习。给出了一个很好的概述,如何自动调整功能的数量。
我试过这个:
modelX = LogisticRegression()
rfecv = RFECV(estimator=modelX, step=1, scoring='mean_absolute_error')
rfecv.fit(df_normdf, y_train)
print("Optimal number of features : %d" % rfecv.n_features_)
# Plot number of feature
我有一个dataframe X,它由60个功能和大约450k个结果组成。我的响应变量y是绝对的(生存,没有生存)。
我想使用RFECV来减少我的估计器(目前,逻辑回归)在Xtrain上的重要特征数量,我希望在ROC曲线下对这些特征进行准确性评分。“所选功能”是所有功能的列表。
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV
import sklearn.linear_model as lm
# Create train and test data
我正在尝试在scikit-learn中结合递归特征消除和网格搜索。正如您从下面的代码中看到的(可以工作),我能够从网格搜索中获得最佳估计器,然后将该估计器传递给RFECV。然而,我宁愿先做RFECV,而不是网格搜索。问题是,当我将选择器从RFECV传递到网格搜索时,它不接受它:
ValueError:估计器RFECV的参数引导无效
有没有可能从RFECV获取选择器并将其直接传递给RandomizedSearchCV,或者这在程序上不是正确的做法?
from sklearn.datasets import make_classification
from sklearn.feature_sel
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.feature_selection import RFECV
from sklearn.svm import SVR
housing = pd.read_csv('boston.csv')
x = housing.iloc[:, 0:13].values
y = housing.iloc[:, 13:14]
我试图在scikit中使用递归特性消除(RFE)函数--学习,但始终得到错误的ValueError: coef_ is only available when using a linear kernel。我试图使用rbf核为支持向量分类器(SVC)执行特征选择。网站中的这个示例执行得很好:
print(__doc__)
from sklearn.svm import SVC
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV
from sklearn.
从scikit-learn 中,算法选择了一系列较小的特征集,并且只保留了权重最高的特征集。具有低权重的功能将被删除,并且此过程会重复执行,直到剩余的功能数量与用户指定的功能(或默认情况下被认为是原始功能数量的一半)匹配为止。
表明,这些特征是按照RFE和KFCV排序的。
我们在中显示的代码中有一组25个特性
from sklearn.svm import SVC
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV,RFE
from sklearn.da
我有近1000个地点的一些空间数据,每个地点大约有5000个特征。我正在做邻域分析,以确定哪些特征在本地社区中占主导地位。
我读到,使用递归的特征消除,只有强的特征可以保持,弱的特征可以消除。对于某些特定的位置,我得到了numpy形状的邻域数据X ( 14,5000),其中5000是特征,14个是本地邻居。我还得到了14个长度的目标向量,有3个类标签。我试图执行以下操作,以删除功能,但得到了值错误。我是ML社区的新手,不确定是否做正确的事情。任何建议都会有帮助。
from sklearn.model_selection import StratifiedKFold
from sklearn.f
我试图使用rfecv缩小与我的分类器真正相关的特征的数量。这是我写的代码
import sklearn
import pandas as p
import numpy as np
import scipy as sp
import pylab as pl
from sklearn import linear_model, cross_validation, metrics
from sklearn.svm import SVC
from sklearn.feature_selection import RFECV
from sklearn.metrics import zero_one_los
我正在尝试使用scikit的递归特征消除和交叉验证来处理具有二进制类问题的(5000, 37)数据,每当我适合该模型时,算法就会进入无限循环。目前,我正在学习这个例子:https://scikit-learn.org/stable/auto_examples/feature_selection/plot_rfe_with_cross_validation.html关于如何使用这个算法。 我的数据是: from sklearn.svm import SVC
from sklearn.model_selection import StratifiedKFold
from
我试图按照给定的教程来使用带有交叉验证(RFECV)功能的scikit的递归特性消除功能--使用我自己的数据学习,并继续得到一个令人费解的错误:
ValueError:找到的数组包含0样本(shape=(0,9)),而至少需要1。
我使用的代码如下:
import pandas as pd
import numpy as np
from sklearn import svm
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV
data = p
我的问题指的是在以下类似的未回答问题中提出的问题:Using a Pipeline containing ColumnTransformer in SciKit's RFECV 我正在尝试用包含ColumnTransformer的管道来选择最相关的特征,代码如下: from sklearn.feature_selection import RFECV
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from sklearn.preproces
我想用SciKitLearn中的决策树和SciKitLearn中的来绘制“交互验证的递归特性消除”。
我想在我已经与之合作的分类器中实现这一点,以便同时输出两个结果。然而,它总是给我一个错误。
这是我为DT修改的代码:
from collections import defaultdict
import numpy as np
from sklearn.cross_validation import cross_val_score
from sklearn.tree import DecisionTreeClassifier
from sk.learn.feature_selection i
我使用recursive feature elimination with cross-validation (rfecv)和GridSearchCV与RandomForest分类器,如下所示,使用管道和不使用管道。
我的管道代码如下所示。
X = df[my_features_all]
y = df['gold_standard']
#get development and testing sets
x_train, x_test, y_train, y_test = train_test_split(X, y, random_state=0)
from sklearn.