首页 > 解决方案 > 如何获得用于测试的特定行和用于培训的其他行?

问题描述

我想测试我的数据集中的特定行并查看结果,但我不知道该怎么做。例如,我想测试第 100 行,然后查看准确性。

feature_cols = [0,1,2,3,4,5]
X = df[feature_cols] # Features
y = df[6] # Target variable

# Split dataset into training set and test set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1,
                                                    random_state=1)

#Create Decision Tree classifer object
clf = DecisionTreeClassifier(max_depth=5)

#Train Decision Tree Classifer
clf = clf.fit(X_train,y_train)

#Predict the response for test dataset
y_pred = clf.predict(X_test)

print("Accuracy:", metrics.accuracy_score(y_test, y_pred))

标签: pythonpandasdataframedata-mining

解决方案


我建议从数据集中排除要测试的行。

test_row=100
train_idx=np.arange(X.shape[0])!=test_row
test_idx=np.arange(X.shape[0])==test_row
X_train=X[train_idx]
y_train=y[train_idx]
X_test=X[test_idx]
y_test=y[test_idx]

现在 X_test 将包含一行。但是,由于您只测试一个样本,因此精度现在将为 0 或 1。


推荐阅读