我试图在Forest Cover Type Prediction上使用TPOTClassifier . 但是在初始运行之后,它产生的错误就是输出 . 如果您建议如何解决错误,将会很有帮助 . 谢谢 .
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(最近一次调用)
1 tpot = TPOTClassifier(代数= 5,population_size = 500,verbosity = 2)
2 tpot.fit(X_train,y_train)
3打印(tpot.score(X_test,y_test))
4 tpot.export('tpot_forest_pipeline.py'
355如果不是self._optimized_pipeline:
356引发ValueError(TPOT优化中存在错误
357过程 . 这可能是因为数据没有正确格式化,或因为数据错误:ValueError:TPOT优化过程中出现错误 . 这可能是因为数据格式不正确,或者因为提供了回归问题的数据TPOTClassifier对象 . 请确保正确地将数据传递给TPOT .
1 回答
问题是由data1 [features]引起的,它应该是1-D数组,但pandas数据帧是2D数组类数据结构 . 更改tpot.fit()代码如下将解决输入问题 .