【发布时间】:2021-07-13 14:14:31
【问题描述】:
我有一个数据集(19 个属性和 1700 个实例),我正在训练逻辑回归、决策树、随机森林。逻辑回归工作正常,但是当我尝试决策树时出现错误:
Expected 2D array, got 1D array instead:
array=[1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0.
data = data.interpolate()
print(data.isnull().sum())
data['Year_upd'].fillna('0', inplace=True)
data['Month_upd'].fillna('0', inplace=True)
data['Day_upd'].fillna('0', inplace=True)
data['Hour_upd'].fillna('0', inplace=True)
print(data.isnull().sum())
x = data.drop(labels='Type', axis='columns')
y = data.iloc [:, 13]
x.head()
x_train, x_test, y_train, y_test = train_test_split(x, y ,test_size = 0.2,)
model = LogisticRegression(max_iter = 4000)
model.fit (x_train, y_train)
model3= tree.DecisionTreeClassifier()
model3.fit(x_train,y_train)
我尝试使用以下代码解决问题
model3= tree.DecisionTreeClassifier()
model3.fit(x_train.values.reshape(-1, 1),y_train)
我仍然得到:标签数=1424 与样本数=29904 不匹配
【问题讨论】:
标签: python machine-learning scikit-learn decision-tree