glmnet的python包装器
glmnet的Python项目详细描述
这是r包中使用的fortran库的python包装器 glmnet。 而库包括线性、logistic、cox、poisson和 多响应高斯,仅在 这个包裹。
api遵循 Scikit-Learn,所以应该 使用生态系统中的工具。
安装
要求
python-glmnet需要python版本>;=3.4,scikit-learn,numpy, 和scipy。从源代码或通过pip安装需要Fortran编译器。
条件
conda install -c conda-forge glmnet
PIP
pip install glmnet
来源
glmnet取决于numpy、scikit learn和scipy。有效的fortran语言 对于Mac用户,编译程序也需要构建包, brew install gcc将处理此要求。
git clone git@github.com:civisanalytics/python-glmnet.git
cd python-glmnet
python setup.py install
用法
一般
默认情况下,LogitNet和ElasticNet使用 套索惩罚(α=1)和最大值为100的λ(由 算法)。此外,在计算了λ值的路径之后, 使用3倍交叉计算每个λ值的性能指标 验证。最佳性能模型对应的λ值为 另存为lambda_max_属性和λ的最大值 模型性能在 最佳评分模型保存为lambda_best_属性。
predict和predict_proba方法接受可选的 参数lamb,用于选择要使用的模型 做出预测。如果省略lamb,则使用lambda_best_。
两种模型都接受密集或稀疏数组。
正则logistic回归
fromglmnetimportLogitNetm=LogitNet()m=m.fit(x,y)
预测与scikit learn类似:
# predict labelsp=m.predict(x)# or probability estimatesp=m.predict_proba(x)
正则线性回归
fromglmnetimportElasticNetm=ElasticNet()m=m.fit(x,y)
预测:
p=m.predict(x)