我正在尝试使用train_test_split和决策树回归器进行此训练建模:
import sklearn
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import cross_val_score
# TODO: Make a copy of the DataFrame, using the 'drop' function to drop the given feature
new_data = samples.drop('Fresh', 1)
# TODO: Split the data into training and testing sets using the given feature as the target
X_train, X_test, y_train, y_test = train_test_split(new_data, samples['Fresh'], test_size=0.25, random_state=0)
# TODO: Create a decision tree regressor and fit it to the training set
regressor = DecisionTreeRegressor(random_state=0)
regressor = regressor.fit(X_train, y_train)
# TODO: Report the score of the prediction using the testing set
score = cross_val_score(regressor, X_test, y_test, cv=3)
print score
运行此命令时,出现错误:
ValueError: Cannot have number of splits n_splits=3 greater than the number of samples: 1.
如果将cv的值更改为1,则会得到:
ValueError: k-fold cross-validation requires at least one train/test split by setting n_splits=2 or more, got n_splits=1.
数据的一些示例行如下所示:
Fresh Milk Grocery Frozen Detergents_Paper Delicatessen
0 14755 899 1382 1765 56 749
1 1838 6380 2824 1218 1216 295
2 22096 3575 7041 11422 343 2564
如果分割数大于样本数,则将出现第一个错误。从下面给出的源代码中检查代码段:
if self.n_splits > n_samples:
raise ValueError(
("Cannot have number of splits n_splits={0} greater"
" than the number of samples: {1}.").format(self.n_splits,
n_samples))
如果折叠数小于或等于1
,则会出现第二个错误。就您而言,cv = 1
。检查源代码:
if n_folds <= 1:
raise ValueError(
"k-fold cross validation requires at least one"
" train / test split by setting n_folds=2 or more,"
" got n_folds={0}.".format(n_folds))
有根据的猜测是,其中的样本数量X_test
少于3
。仔细检查。
我从Udemy那里学习KNN。数据集从这里下载。 当我尝试运行以下代码时: 我得到的错误是: 回溯(最近一次调用):文件“/home/ashutosh/Machine Learning A-Z Template Folder/Part 3-分类/第15节-K-最近邻(K-NN)/knn(1.py)”,第24行,cm=混淆矩阵(y\u test,y\u pred) 文件“/home/ashutosh
问题内容: 当我在终端尝试这个 我收到以下错误 但是,我可以分两个步骤执行此操作,例如, 为什么会有这种行为?用单行解决此问题的方法是什么? 问题答案: 提高功率优先于一元减号。 因此,您拥有的却不是您所期望的: 如果您希望它起作用,您应该写 或按照@TimPietzcker的说明切换Python 3。
在中传递时,我得到以下错误: 回溯(最近一次呼叫最后一次): 文件“C:/Classify/classifier.py”,第95行,在 列车平均值,测试平均值,cms=列车模型(X,y,“ceps”,plot=True) 列车模型中第47行的文件“C:/Classify/classifier.py” clf.fit(X_train,y_train)文件“C:\Python27\lib\site p
我正在尝试使用 JOLT 根据属性将数组拆分为多个数组。我已经尝试过 JOLT“移位”规范,但无法实现。 我已经查看了几个完成数组转换的链接,但是我找不到任何将数组拆分成多个数组的方法。 示例:根据属性“type”的值将以下数组转换为3个数组。 输入: 输出:
我有一个子阵列: 我想将每个子数组的元素放入另一个数组中,但子数组大小的总和必须小于或等于6。所以我想得到这样的东西 我现在的代码是 我被困在这里,因为我的代码只有两个前元素。原始数组有大约1000个子数组,我的代码没有以那种形式分割它。