Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 机器学习模型中的数据拟合与预测_Python_Machine Learning_Scikit Learn_Classification - Fatal编程技术网

Python 机器学习模型中的数据拟合与预测

Python 机器学习模型中的数据拟合与预测,python,machine-learning,scikit-learn,classification,Python,Machine Learning,Scikit Learn,Classification,在分类或回归中,我们需要我们的模型从输入数据(训练数据)中学习。例如,寻找最佳可能的模型参数值(在线性回归中) 当我在机器学习中学习分类部分时,我遇到了下面给出的代码(在MNIST数据集中分类“Not-5”的模型): 此代码来自handson ml master/03_Classification.ipynb from sklearn.base import BaseEstimator class Never5Classifier(BaseEstimator): def fit(self, X,

在分类或回归中,我们需要我们的模型从输入数据(训练数据)中学习。例如,寻找最佳可能的模型参数值(在线性回归中)

当我在机器学习中学习分类部分时,我遇到了下面给出的代码(在MNIST数据集中分类“Not-5”的模型):

此代码来自handson ml master/03_Classification.ipynb

from sklearn.base import BaseEstimator
class Never5Classifier(BaseEstimator):
def fit(self, X, y=None): # fit the data
    pass
def predict(self, X):
    print(X.shape)
    print(len(X))
    return np.zeros((len(X), 1), dtype=bool)
下面是对模型执行交叉验证的代码

never_5_clf = Never5Classifier()

cross_val_score(never_5_clf, X_train, y_train_5, cv=3, scoring="accuracy")

这是定制的模型,所以我想知道数据是如何拟合的(黑匣子里发生了什么)。虽然我遇到了很多模型,但是有一些数学证明/方法来确定参数值

在上面给出的示例中,您的模型试图对数据集中的特定图形是否标记为数字
5
进行分类。这是通过向您的模型提供一个只包含数字
5
训练集来完成的,从这个
训练集
,您的模型正在学习对于图形
5
来说是唯一的特征(
特征
)。这样,您的模型就可以从
训练集中每个图像包含的28x28像素中学习。完成模型训练(将足够多的数字样本
5
输入分类器)后,您的模型现在可以进行测试了。在测试阶段,您使用的是一个
测试集
,在这种情况下,它将不同于您的模型从中学习到的
训练集。它将在某种程度上有所不同,它不仅包含像在
训练集中那样的数字
5
,而且现在它将包含所有类型的数字(
0-9
),并且您的模型将能够用1对每个样本进行分类,这意味着
为真
(也称为
5
),或者使用
0
,它是
false
(也就是说它不是
5
)。这就是
fit()
函数的工作方式。在这种情况下,您只需使用一个数字(在您的情况下是数字
5
)来训练您的模型,然后您将测试您的模型是否能够查看
测试集中的随机数字实际上是
5
还是其他数字。在您的
训练集上调用
fit()
后,您的模型已经学会识别数字
5
,但它没有了解
3、8、4或1
是什么样子,但它可以知道,如果它不是
5
,那么它就是另一个模型尚未学会的数字

你在哪里找到这个代码的?请链接那个。@VivekKumar完成!Never5分类软件不学习任何东西,总是预测所有数据为负值。i、 e.不是5。