Python scikit中逻辑回归的输入格式

Python scikit中逻辑回归的输入格式,python,scikit-learn,Python,Scikit Learn,在R中使用逻辑回归时,“glm”函数(族=二项式)的数据输入可以是:(?族)多种格式,具体格式如下: 对于二项式和拟二项式族,响应可以是 以以下三种方式之一指定: 作为数值介于0和1之间的数值向量,解释为 成功案例的比例(给出的案例总数) 按重量) 我收集了代表试验成功率(0和1之间的数字)及其等效权重的数据,我对应用逻辑回归很感兴趣,这在R中很容易使用 不幸的是,我不能在这个项目中使用R,我想使用scikit learn来估计逻辑回归系数。更准确地说,我希望以输入的形式应用sklearn.

R
中使用逻辑回归时,“glm”函数(族=二项式)的数据输入可以是:(?族)多种格式,具体格式如下:

对于二项式和拟二项式族,响应可以是 以以下三种方式之一指定:

作为数值介于0和1之间的数值向量,解释为 成功案例的比例(给出的案例总数) 按重量)

我收集了代表试验成功率(0和1之间的数字)及其等效权重的数据,我对应用逻辑回归很感兴趣,这在R中很容易使用

不幸的是,我不能在这个项目中使用R,我想使用
scikit learn
来估计逻辑回归系数。更准确地说,我希望以输入的形式应用
sklearn.linear\u model.LogisticRegression
,允许我以与R中类似的方式插入模型比例和权重

例如:

from sklearn import linear_model
import pandas as pd

df = pd.DataFrame([[1,1,1,0], [1,1,1,0],[1,1,1,1],[2,2,1,1] , [2,2,1,1],[2,2,1,0] , [3,3,1,0] ],columns=['a', 'b','Trials','Success'])

logistic = linear_model.LogisticRegression()
#this works
logistic.fit(X=df[['a','b','Trials']] , y=df.Success)
logistic.predict_proba(df[['a','b','Trials']])
prob_to_success = logistic.predict_proba(df[['a','b','Trials']])[:,1]


    prob_to_success

Out[51]:  array([ 0.45535843,  0.45535843,  0.45535843,  0.42212169,  0.42212169,
        0.42212169,  0.38957565])

#How can i use the following Data?
df_agg = df.groupby(['a','b'] , as_index=False)['Trials','Success'].sum()
df_agg["Prop"] = df_agg.Success / (df_agg.Trials)
df_agg

 #I want to use Prop & Trials as weights in df_agg

提前谢谢

如果要使用权重,可以在
logistic回归的拟合函数中使用它们:

fit(X, y, sample_weight=None)

转换为对数赔率形式,并在转换中使用线性回归。Sklearn似乎没有逻辑回归的准二项式转换。正如您所说,R中的琐碎,但sklearn似乎没有类似的功能。

请注意,将该参数与比例一起使用会引发以下错误ValueError:Unknown label type:(数组([0.,0.666 7]),)