TPOTClassifier产生错误

时间:2016-11-27 14:42:13

标签: python-2.7 python-3.x anaconda genetic-algorithm genetic-programming

我试图在TPOTClassifier上使用Forest Cover Type Prediction。 但是在初始运行之后,它产生的错误就是输出。如果,这会很有帮助 您建议如何解决错误。谢谢。

from tpot import TPOTClassifier
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# loading the data
data = pd.read_csv("train.csv")
data_test = pd.read_csv("test.csv")
data.head()
data_test.head()

print data['Cover_Type'].values
data1 = data

data1= data1.rename(columns={'Cover_Type':'class'})
data1.dtypes

features =list(data1.dtypes[1:55].index)
target =list(data1.dtypes[55:56].index)
print data1.dtypes.tail()

## train test split
X_train , X_test, y_train, y_test = train_test_split(data1[features],data1[target],train_size=0.75, test_size=0.25)
X_train.head()

tpot =TPOTClassifier(generations=5, population_size=500, verbosity=2)       
tpot.fit(X_train, y_train)
print (tpot.score(X_test, y_test))
tpot.export('tpot_forest_pipeline.py')

但它的产生错误:

第1代 - 当前最佳内部CV分数:inf

第2代 - 当前最佳内部CV分数:inf

第3代 - 当前最佳内部CV分数:inf

第4代 - 当前最佳内部CV评分:inf

第5代 - 当前最佳内部CV评分:inf

ValueError Traceback(最近一次调用最后一次)  in()

1 tpot = TPOTClassifier(代数= 5,population_size = 500,verbosity = 2)

2 tpot.fit(X_train,y_train)

3 print(tpot.score(X_test,y_test))

4 tpot.export('tpot_forest_pipeline.py'

355如果不是self._optimized_pipeline:

356引发ValueError(TPOT优化中存在错误

357进程。这可能是因为数据是 358格式不正确,或因为数据错误)ValueError:TPOT优化过程中出现错误。这可能是因为数据格式不正确,或者因为回归问题的数据被提供给TPOTClassifier对象。请确保你正确地将数据传递给了TPOT。

1 个答案:

答案 0 :(得分:1)

问题是由data1 [features]引起的,它应该是1-D数组,但pandas数据帧是2D数组类数据结构。更改下面的tpot.fit()代码将解决输入问题。

tpot.fit(pd.np.array(X_train), pd.np.array(y_train).ravel())