我是机器学习的新手,在过去的几个月里,我一直在使用 Sci-Kit Learn 来尝试了解构建功能集和预测模型的基础知识。
现在我尝试在数据集上使用 ML 不是为了预测未来值,而是为了了解每个特征的重要性和方向(正面或负面)。
我的特征 (X) 是描述产品的布尔值和整数值。我的目标 (y) 是产品的销售量。我有大约 15,000 条观察结果,每条有 16 个特征。
到目前为止,我的机器学习知识有限,我相信我可以根据一组新的特征 X 预测(以一定程度的准确度)新的 y。但是,我正在努力连贯地识别、报告和呈现组成 X 的每个特征的重要性和方向。
到目前为止,我采取了两步方法:
- 使用线性回归观察系数
- 使用随机森林观察特征重要性
代码
首先,我尝试了解每个功能的方向性影响:
from sklearn import linear_model
linreg = linear_model.LinearRegression()
linreg.fit(X, y)
coef = linreg.coef_
...
其次,我尝试了解每个功能的重要性:
from sklearn import ensemble
forest = ensemble.RandomForestRegressor()
forest.fit(X, y)
importance = forest.feature_importances_
...
然后我将每个特征的两个派生值相乘,最后得到一些值,这可能是我正在寻找的信息!
我很想知道我是否走在正确的轨道上。这是 ML 的常见用例吗?是否有我应该关注的工具、想法、包来帮助指导我?
非常感谢你。