关于弹性网 的疑问
来源:8-10 L1, L2和弹性网络
lemonlxn
2019-03-08
bobo老师好,
1.弹性网中 r 的取值,一般是多少呢?
2.弹性网,使用CV方式,寻找最适合的参数,一般是这样写吗?
例如:
from sklearn.linear_model import ElasticNetCV
alphas = [0.0001, 0.0003, 0.0005, 0.001, 0.01, 0.1, 1, 10]
l1_ratio= [0.1, 0.3 , 0.5, 0.7, 0.9, 0.95, .99, 1]
elastic_net = ElasticNetCV(alphas=alphas,l1_ratio=l1_ratio,max_iter=5000))
elastic_net.fit(x_train, y_train)
elastic_net.score(X_test,y_test)
写回答
2回答
-
lemonlxn
提问者
2019-03-09
老师好,之前我使用 ElasticNetCV的时候,看到这里有CV字眼,以为这里也可以进行交叉验证,不过好像是我弄错了。
关于弹性网,我在慕课问答搜索了,没有找到我想要的疑惑。
这里我还有2个疑问,老师麻烦您看一下:
我这里以波士顿房产为例,使用了 GridsearchCV,ElasticNetCV的方式,不过这里报错了,出现了
axis -1 is out of bounds for array of dimension 0 报错 。我没怎么用过 ElasticNetCV,您有空的话,可以和我解答一下吗?
2.弹性网,寻找合适的 r 与 alpha ,适用的场景,主要是线性回归吗?
032019-03-09 -
liuyubobobo
2019-03-08
抱歉,这个问题之前看错了。你使用ElasticNetCV的方法是正确的。
参考这里:http://coding.imooc.com/learn/questiondetail/106276.html
==========
1
没有一般值。数据不同,场景不同,最佳值不同。r是一个超参数,需要具体调节。
2
不是。alpha和l1_ratio都只是一个float,不能传入数组。你需要使用循环,尝试不同的参数组合。再回顾一下课程中讲使用网格搜索的方式?
4-5小节使用循环寻找最佳参数,以knn为例:
4-6小节使用sklearn提供的GridSearchCV类,以knn为例:
加油!:)
012019-03-09
相似问题