sklearn.linear_model.LogisticRegression.fit()总是在认为

sklearn.linear_model.LogisticRegression.fit()总是在认为

问题描述:

在我的节目,我用sklearn.linear_model.LogisticRegression一个点,有时它只是不断思考/运行,它不往前走。这取决于它获得的数据。一些示例数据,它不按我想要的方式工作:sklearn.linear_model.LogisticRegression.fit()总是在认为

from sklearn.linear_model import LogisticRegression 
from numpy import array 

x = LogisticRegression() 
a = [array([2.24711642e+307,1.12355821e+307,7.86490747e+307,1.68533731e+308,1.00000000e+000, 
    5.00000000e-001,1.12355821e+307,0.00000000e+000,1.46062567e+308,3.37067463e+307,5.00000000e-001, 
    0.00000000e+000,0.00000000e+000,1.23591403e+308,5.61779105e+307,5.00000000e-001,6.74134926e+307, 
    1.12355821e+307,6.74134926e+307,1.23591403e+308,7.50000000e-001,4.49423284e+307,1.12355821e+307, 
    6.74134926e+307,6.74134926e+307]),array([1.00000000e+000,1.00000000e+000,3.37067463e+307, 
    7.86490747e+307,7.86490747e+307,1.00000000e+000,1.12355821e+307,2.24711642e+307,1.12355821e+308, 
    4.49423284e+307,1.00000000e+000,3.37067463e+307,7.86490747e+307,5.61779105e+307,1.00000000e+000, 
    2.24711642e+307,1.12355821e+307,1.23591403e+308,2.24711642e+307,1.00000000e+000,7.50000000e-001, 
    7.86490747e+307,6.74134926e+307,1.00000000e+000,1.00000000e+000]),array([2.24711642e+307, 
    2.24711642e+307,5.61779105e+307,1.34826985e+308,6.74134926e+307,0.00000000e+000,2.24711642e+307, 
    1.12355821e+307,7.86490747e+307,4.49423284e+307,2.24711642e+307,1.12355821e+308,1.12355821e+307, 
    1.23591403e+308,5.61779105e+307,7.50000000e-001,1.12355821e+307,0.00000000e+000,4.49423284e+307, 
    1.34826985e+308,7.50000000e-001,6.74134926e+307,2.24711642e+307,1.12355821e+307,6.74134926e+307]), 
    array([1.00000000e+000,1.12355821e+307,3.37067463e+307,4.49423284e+307,1.23591403e+308, 
    1.00000000e+000,1.12355821e+307,4.49423284e+307,0.00000000e+000,4.49423284e+307,1.12355821e+307, 
    2.50000000e-001,1.34826985e+308,1.12355821e+307,1.00000000e+000,2.24711642e+307,0.00000000e+000, 
    1.79769313e+308,1.00000000e+000,1.00000000e+000,1.12355821e+307,1.12355821e+307,1.01120239e+308, 
    1.00000000e+000,1.00000000e+000]),array([2.24711642e+307,5.61779105e+307,6.74134926e+307, 
    3.37067463e+307,1.00000000e+000,7.50000000e-001,3.75000000e-001,8.98846567e+307,8.98846567e+307, 
    1.00000000e+000,1.00000000e+000,2.24711642e+307,6.74134926e+307,6.74134926e+307,1.00000000e+000, 
    1.00000000e+000,5.00000000e-001,1.34826985e+308,3.37067463e+307,1.00000000e+000,1.00000000e+000, 
    8.12500000e-001,8.98846567e+307,8.98846567e+307,1.00000000e+000])] 
b = [5, 3, 6, 4, 0] 
x.fit(a,b) 
print 'finished' 

任何人都可以向我解释发生了什么?为什么它不给我任何答案?

编辑:这是其中的样本数据,在我的电脑上,程序永远不会过去x.fit(a,b)。它只是继续在x.fit(a,b)上工作,从不打印“完成”。问题是为什么。

+0

你的意思是*保持思维*?我无法复制你的问题 –

+0

它只是继续工作,它不会去下一行代码。 – ajgoralczyk

+1

它停在哪里?你展示的代码部分没有问题 –

你已经证明可以很容易地在一个相对短的时间内Regressor安装的数据集; fit已完成很久以前。你需要调用LogisticRegressorpredict法估计结果对新样本:

>>> x.fit(a,b) 
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, 
      intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1, 
      penalty='l2', random_state=None, solver='liblinear', tol=0.0001, 
      verbose=0, warm_start=False) 
>>> x.predict(...) # replace ellipsis with an array of 25 features/floats 

在自己的原始数据是有太多的功能的情况下,你可以尝试做一些特征选择,以减少学习时间回归。

+0

我不想预测任何事情,我稍后使用'x.score(...)'。问题是我无法得分,因为程序继续在拟合,我不知道为什么。 – ajgoralczyk

+0

如果您使用的是完全不同的数据集,我不能说太多。真实情况下有多少功能和样品? –

+0

但对于此数据它不起作用。 – ajgoralczyk