我正在尝试使用Python中的包装器方法来实现一个简单的正向选择,使用来自我拥有的数据的KNN
我的数据:
ID S_LENGTH S_WIDTH P_LENGTH P_WIDTH SPECIES
------------------------------------------------------------------
1 3.5 2.5 5.6 1.7 VIRGINICA
2 4.5 5.6 3.4 8.7 SETOSA
这就是我定义X
和y
的地方:
X = df[['S_LENGTH', 'S_WIDTH', 'P_LENGTH', 'P_WIDTH']].values
y = df['SPECIES'].values
这是一个简单的KNN模型:
clf = neighbors.KNeighborsClassifier()
clf.fit(X_fs,y)
predictions = clf.predict(X_fs)
metrics.accuracy_score(y, predictions)
因此,如何使用正向选择实现KNN模型
谢谢
我有内置的not believe that KNN has a features importance,所以基本上有三个选项。首先,可以使用与模型无关的特性重要性版本,如排列重要性
其次,您可以尝试在每个步骤一次添加一个特性,并选择最能提高性能的模型
第三个(与第二个密切相关),只需尝试每一个排列!由于您只有4个功能,假设您没有太多的数据,您可以尝试所有功能的组合。共有4个模型具有一个功能,6(4选择2)个模型具有两个功能,4个模型具有三个功能,1个模型具有全部四个功能。这可能比上述两种想法的计算量要少
比如说:
澄清一下,我假设这不是你的数据,而是前两行,对吗?如果只有两行,则会遇到更大的问题:)
相关问题 更多 >
编程相关推荐