前一篇文章介绍了多项式回归拓展后,对特定数据集有很好的拟合效果,那么拓展后的特征项是否具有解释性呢?本文以鸢尾花数据集,来对拓展后的特种项,做一个解释说明。但鸢尾花数据集拓展后的拟合效果并没有多大提高,就不做进一步回归拟合了。
代码示例
1、导入数据集,并获取特征名称
from sklearn.datasets import load_iris import pandas as pd iris = load_iris() x = iris.data y = iris.target columns = iris.feature_names print(columns) # ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] # ['萼片长度', '萼片宽度', '花瓣长度', '花瓣宽度']
2、多项式回归
from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2, include_bias=False) x = poly.fit_transform(x) # 当数据有标签时,可以查看拓展后的特征组合 print(poly.get_feature_names(columns)) # ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)', # 'sepal length (cm)^2', 'sepal length (cm) sepal width (cm)', 'sepal length (cm) petal length (cm)', 'sepal length (cm) petal width (cm)', # 'sepal width (cm)^2', 'sepal width (cm) petal length (cm)', 'sepal width (cm) petal width (cm)', # 'petal length (cm)^2', 'petal length (cm) petal width (cm)', 'petal width (cm)^2']
当 degree=2 时,拓展后的特征会出现平方项和交叉项,同时可以用 get_feature_names() 方法,查看拓展项的计算方法,从而增加模型的可解释性。
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/296
- 上一篇:
- 贪心算法之活动选择问题
- 下一篇:
- 动态规划之钢条切割问题