最佳特征 DNNClassifier 模型
Best Features DNNClassifier model
我正在研究具有 50 个特征的二元分类,我正在使用 tf.estimator.DNNClassifier。我如何对影响结果的主要特征进行排名?
model = tf.estimator.DNNClassifier(feature_columns=feat_cols, hidden_units=[1024, 512, 256])
model.train(input_fn=input_func,steps=5000)
尝试使用以下内容:
wt_names = model.get_variable_names()
wt_vals = [model.get_variable_value(name) for name in wt_names]
wt_names:
['dnn/hiddenlayer_0/bias',
'dnn/hiddenlayer_0/bias/t_0/Adagrad',
'dnn/hiddenlayer_0/kernel',
'dnn/hiddenlayer_0/kernel/t_0/Adagrad',
'dnn/hiddenlayer_1/bias',
....
wt_values:
model.get_variable_value('dnn/hiddenlayer_0/kernel')
array([[-0.05203109, -0.08008841, -0.07939883, ..., 0.00460025,
-0.08133098, -0.00713339],
[ 0.06286905, 0.01680468, 0.13167404, ..., -0.06170678,
-0.06767021, 0.05019882],
[ 0.07433462, -0.01052287, -0.10441218, ..., -0.081627 ,
-0.06397511, -0.03532334],
...,
不确定如何确定哪些功能排名更高。
一些研究告诉我,您无法确定哪个特征对 DNN 的影响最大。您需要在进入 DNN 之前执行此操作。
您可以使用 Scikit 来减少特征:
[http://scikit-learn.org/stable/modules/feature_selection.html]
您可以使用"Removing features with low variance"、"Recursive feature elimination"等来减少特征
检查以下功能选择Link:
https://machinelearningmastery.com/feature-selection-machine-learning-python/
给你4种方法来解决这个问题:单变量选择、递归特征消除、主成分分析和特征重要性。
我正在研究具有 50 个特征的二元分类,我正在使用 tf.estimator.DNNClassifier。我如何对影响结果的主要特征进行排名?
model = tf.estimator.DNNClassifier(feature_columns=feat_cols, hidden_units=[1024, 512, 256])
model.train(input_fn=input_func,steps=5000)
尝试使用以下内容:
wt_names = model.get_variable_names()
wt_vals = [model.get_variable_value(name) for name in wt_names]
wt_names:
['dnn/hiddenlayer_0/bias',
'dnn/hiddenlayer_0/bias/t_0/Adagrad',
'dnn/hiddenlayer_0/kernel',
'dnn/hiddenlayer_0/kernel/t_0/Adagrad',
'dnn/hiddenlayer_1/bias',
....
wt_values:
model.get_variable_value('dnn/hiddenlayer_0/kernel')
array([[-0.05203109, -0.08008841, -0.07939883, ..., 0.00460025,
-0.08133098, -0.00713339],
[ 0.06286905, 0.01680468, 0.13167404, ..., -0.06170678,
-0.06767021, 0.05019882],
[ 0.07433462, -0.01052287, -0.10441218, ..., -0.081627 ,
-0.06397511, -0.03532334],
...,
不确定如何确定哪些功能排名更高。
一些研究告诉我,您无法确定哪个特征对 DNN 的影响最大。您需要在进入 DNN 之前执行此操作。
您可以使用 Scikit 来减少特征: [http://scikit-learn.org/stable/modules/feature_selection.html]
您可以使用"Removing features with low variance"、"Recursive feature elimination"等来减少特征
检查以下功能选择Link: https://machinelearningmastery.com/feature-selection-machine-learning-python/
给你4种方法来解决这个问题:单变量选择、递归特征消除、主成分分析和特征重要性。