什么时候我必须使用scikit学习的fit方法



我不明白什么时候我必须使用scikit learn的fit方法

在这个网页:http://machinelearningmastery.com/automate-machine-learning-workflows-pipelines-python-scikit-learn/有一个管道+ StandardScaler的例子。没有使用fit方法。

但在另一个:http://scikit-learn.org/stable/auto_examples/svm/plot_rbf_parameters.html还有一个StandardScaler和一个fit方法。

这是我的代码:Pipeline+Robustscaler:
result_list = []
for name in ["AWA","Rem","S1","S2","SWS","SX", "ALL"]: 
    x=sio.loadmat('/home/{}_E.mat'.format(name))['x'] 
    s_y=sio.loadmat('/home/{}_E.mat'.format(name))['y']
    y=np.ravel(s_y)
    print(name, x.shape, y.shape) 
    print("")
    #Create a pipeline
    clf = make_pipeline(preprocessing.RobustScaler(), SVC(cache_size=1000, kernel='rbf'))

    ###################10x20 SSS##################################
    print("10x20")
    xSSSmean20 = []
    for i in range(10):
        sss= StratifiedShuffleSplit(y, 20, test_size=0.1, random_state=i)
        scoresSSS=cross_validation.cross_val_score(clf, x, y, cv=sss)
        xSSSmean20.append(scoresSSS.mean()) 
     result_list.append(xSSSmean20)
     print("") 

训练你的分类器,你必须适合你的训练数据集。

第一个链接也这样做,不是因为它没有显式地出现在代码片段中,所以它没有这样做:

方法cross_val_score使用model作为估计量来拟合到数据。

看一下'cross_val_score'方法的实现,试着理解它是如何工作的,而不是在不了解它的作用的情况下使用它。

这里是函数的文档,这里的实现在GitHub中可以参考。

建议:

当你不明白的时候,试着去钻研代码。你会学到很多!

相关内容

  • 没有找到相关文章

最新更新