Python sklearn数据集中的特征选择问题
我是一个初学者。我现在正在sklearn下编写一个功能选择算法,并编写了一个简单的程序来尝试它。目标是删除数据集中的某些列,但结果是错误的。以下是代码和错误消息。请帮帮我,谢谢。我该怎么办Python sklearn数据集中的特征选择问题,python,scikit-learn,Python,Scikit Learn,我是一个初学者。我现在正在sklearn下编写一个功能选择算法,并编写了一个简单的程序来尝试它。目标是删除数据集中的某些列,但结果是错误的。以下是代码和错误消息。请帮帮我,谢谢。我该怎么办 import numpy as np from sklearn.datasets import load_iris data = load_iris() data=np.array(data) print(data[:,[0,1]]) #Take the first two columns of the da
import numpy as np
from sklearn.datasets import load_iris
data = load_iris()
data=np.array(data)
print(data[:,[0,1]]) #Take the first two columns of the dataset and print
错误消息:
Traceback (most recent call last):
File "K:/b/f_s_DF.py", line 6, in <module>
print(data[:,[0,1]])#Take the first two columns of the dataset and print
IndexError: too many indices for array: array is 0-dimensional, but 2 were indexed
回溯(最近一次呼叫最后一次):
文件“K:/b/f_s_DF.py”,第6行,在
打印(数据[:,[0,1]])#获取数据集的前两列并打印
索引器错误:数组的索引太多:数组是0维的,但已为2个索引
而不是转换Numpy.ndarray
您可以在pandas Dataframe
上转换这些数据,并很容易看到前两列或任意一列。请查看以下代码:
import pandas as pd
from sklearn.datasets import load_iris
data = load_iris()
datasets = pd.DataFrame(data['data'], columns =
data['feature_names'])
target_val = pd.Series(data['target'], name =
'target_values')
datasets['target'] = target_val
datasets[:2]
输出:
sepal length sepal width petal length petal width target
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
首先,您需要将虹膜类型
更改为pandasdataframe
。然后numpy-ndarray
import numpy as np
from sklearn.datasets import load_iris
iris = load_iris()
data1 = np.array(pd.DataFrame(data= np.c_[iris['data'], iris['target']],
columns= iris['feature_names'] + ['target']))
print(data1[:,:2])
从ndarray获取值时,不需要像
1,2
那样给出索引。你可以给:2
load_iris()
返回一个Bunch
类型数据,你不能只是在它上面打一个数据线。试试这个load\u iris(return\u X\u y=True)
解决了我的问题。衷心感谢您的回答。解决了我的问题。这个回答对您有帮助吗?