我试图在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。答案 0 :(得分:1)
问题是由data1 [features]引起的,它应该是1-D数组,但pandas数据帧是2D数组类数据结构。更改下面的tpot.fit()代码将解决输入问题。
tpot.fit(pd.np.array(X_train), pd.np.array(y_train).ravel())