Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用EvolutionaryFS时,只有整数、切片(`:`)、省略号(`…`)、numpy.newaxis(`None`)以及整数或布尔数组是有效的索引_Python_Pandas_Dataframe_Numpy - Fatal编程技术网

Python 使用EvolutionaryFS时,只有整数、切片(`:`)、省略号(`…`)、numpy.newaxis(`None`)以及整数或布尔数组是有效的索引

Python 使用EvolutionaryFS时,只有整数、切片(`:`)、省略号(`…`)、numpy.newaxis(`None`)以及整数或布尔数组是有效的索引,python,pandas,dataframe,numpy,Python,Pandas,Dataframe,Numpy,我用遗传算法来选择特征 所以我使用了EvolutionaryFS库 import pandas as pd import numpy as np import tensorflow as tf from tensorflow.python.keras.models import Sequential from tensorflow.python.keras.layers import Dense, Dropout, BatchNormalization, Activation from ten

我用遗传算法来选择特征

所以我使用了EvolutionaryFS库

import pandas as pd
import numpy as np
import tensorflow as tf

from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Dropout, BatchNormalization, Activation
from tensorflow.python.keras.utils import np_utils
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, StandardScaler
from EvolutionaryFS import GeneticAlgorithmFS

seed = 0
np.random.seed(seed)

df = pd.read_csv("/content/drive/MyDrive/RT_predict/Urine_DnS/Dataset/0607/0607Dragon_0607edit.csv")

dataset = df.values
X = dataset[:,0:-1]
Y = dataset[:,-1]

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=seed)

input_dim = X.shape[1]

def build_model(n1_neurons=1000, n2_neurons=500):
    model = keras.models.Sequential()
    model.add(keras.layers.InputLayer(input_shape=input_dim))
    model.add(keras.layers.Dense(n1_neurons, activation="relu"))
    model.add(keras.layers.Dense(n2_neurons, activation="relu"))
    model.add(keras.layers.Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam', metrics=['mae', 'mse'])
    return model

data_dict={0:{'x_train':X_train,'y_train':Y_train,'x_test':X_test,'y_test':Y_test}}
columns_list=list(df.columns)

model_object=build_model
evoObj=GeneticAlgorithmFS(model=model_object,data_dict=data_dict,cost_function='mean_squared_error',average='',cost_function_improvement='decrease',columns_list=columns_list,generations=100,population=50,prob_crossover=0.9,prob_mutation=0.1,run_time=60000)
best_columns=evoObj.GetBestFeatures()
print(best_columns)
我得到了这样的错误:

IndexError                                Traceback (most recent call
last) <ipython-input-20-33e6ab735f97> in <module>()
     47 model_object=build_model
     48 evoObj=GeneticAlgorithmFS(model=model_object,data_dict=data_dict,cost_function='mean_squared_error',average='',cost_function_improvement='decrease',columns_list=columns_list,generations=100,population=50,prob_crossover=0.9,prob_mutation=0.1,run_time=60000)
---> 49 best_columns=evoObj.GetBestFeatures()
     50 print(best_columns)

2 frames /usr/local/lib/python3.7/dist-packages/EvolutionaryFS.py in
_getCost(self, population_array)
     95         for i in self.data_dict.keys():
     96
---> 97             x_train=self.data_dict[i]['x_train'][columns_list]
     98             y_train=self.data_dict[i]['y_train']
     99

IndexError: only integers, slices (`:`), ellipsis (`...`),
numpy.newaxis (`None`) and integer or boolean arrays are valid indices
索引器错误回溯(最近的调用)
最后)在()
47模型\对象=构建\模型
48 evoObj=遗传算法(模型=模型=对象,数据=数据,成本函数=均方误差,平均值='',成本函数改善=减少,列列表=列列表,世代=100,总体=50,概率交叉=0.9,概率变异=0.1,运行时间=60000)
--->49最佳_列=evoObj.GetBestFeatures()
50份打印(最佳列)
2帧/usr/local/lib/python3.7/dist-packages/EvolutionaryFS.py in
_getCost(自我,填充数组)
95表示i在self.data_dict.keys()中:
96
--->97 x_列=自身数据目录[i]['x_列'][列列表]
98 y_train=self.data_dict[i]['y_train']
99
索引器:仅整数、片(`:`)、省略号(`…`),
numpy.newaxis(`None`)和整数或布尔数组是有效的索引

我认为数据集有问题,但我无法解决此问题。

对不起,我不知道您为什么留下此链接。您是否尝试过阅读此链接?你知道它是如何解释为什么你要发布完整的错误的吗?您是否理解您发布的错误消息是如何不完整的,请按照下面的示例进行操作?我如何发布完整的错误?复制并通过回溯中的所有行,将其追溯到您的问题中。