Python 额外树分类器缺少参数y
所以我试图实现额外的树分类器,以便在我的数据库中找到参数的重要性,我写了这段简单的代码,但出于某种原因,我一直得到这个错误 我的代码:Python 额外树分类器缺少参数y,python,pandas,numpy,dataframe,scikit-learn,Python,Pandas,Numpy,Dataframe,Scikit Learn,所以我试图实现额外的树分类器,以便在我的数据库中找到参数的重要性,我写了这段简单的代码,但出于某种原因,我一直得到这个错误 我的代码: import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline from sklearn.ensemble import ExtraTreesClassifier df = pd.read_csv('C:\\Users\\ali9
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn.ensemble import ExtraTreesClassifier
df = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\5-FINAL2\\Final After Simple Filtering.csv')
extra_tree_forest = ExtraTreesClassifier(n_estimators = 5, criterion ='entropy', max_features = 2)
extra_tree_forest.fit(df)
feature_importance = extra_tree_forest.feature_importances_
feature_importance_normalized = np.std([tree.feature_importances_ for tree in extra_tree_forest.estimators_], axis = 1)
plt.bar(X.columns, feature_importance_normalized)
plt.xlabel('Lbale')
plt.ylabel('Feature Importance')
plt.title('Parameters Importance')
plt.show()
错误:
TypeError Traceback (most recent call last)
<ipython-input-7-4aad8882ce6d> in <module>
16 extra_tree_forest = ExtraTreesClassifier(n_estimators = 5, criterion ='entropy', max_features = 2)
17
---> 18 extra_tree_forest.fit(df)
19
20 feature_importance = extra_tree_forest.feature_importances_
TypeError: fit() missing 1 required positional argument: 'y'
TypeError回溯(最近一次调用)
在里面
16额外的树森林=额外的树分类(n_估计值=5,标准='熵',最大特征=2)
17
--->18额外的树木森林。适合(df)
19
20特征重要性=额外的树。特征重要性_
TypeError:fit()缺少1个必需的位置参数:“y”
谢谢通常,对于fit函数,我们需要同时具有属性(X)和标签(Y),并且您需要使用
额外的树\u forest.fit(X,Y)
来训练此分类器。
我建议您拆分标签和属性,并在导入时将它们作为两个单独的列表导入
Final After Simple filter.csv
通常,对于fit函数,我们需要同时具有属性(X)和标签(Y),并且您需要使用extra_tree_forest.fit(X,Y)
来训练此分类器。
我建议您拆分标签和属性,并在导入时将它们作为两个单独的列表导入
Final After Simple Filtering.csv
因此我不能一次将其应用于整个数据帧而不是拆分数据库?您可以在此处执行类似操作(例如,如果您有10列X,其余为标签):X=data.iloc[:,0:10]Y=data.iloc[:,10:-1]您不能一次对整个数据应用fit函数。我尝试了iloc,得到“ValueError:至少需要一个数组或数据类型”标签(Y)列中可能有空格。请查看CSV文件并删除该列中的任何空格。因此,我不能将其立即应用于整个数据帧,而不是拆分数据库?您可以在此处执行类似操作(例如,如果有10列X,其余为标签):X=data.iloc[:,0:10]Y=data.iloc[:,10:-1]您不能一次对整个数据应用fit函数。我尝试了iloc,得到“ValueError:至少需要一个数组或数据类型”标签(Y)列中可能有空格。请查看CSV文件并删除该列中的任何空格。