据我所知,apktool 和 baksmali 都能够从 .apk (.dex) 文件中生成 smali 代码,而 apktool 使用了 dexlib2。它们都是APK打包/解包工具
但是我仍然不清楚apktool 和 smali/baksmali 之间的主要区别是什么。在 .dex 文件和扩展功能的功能方面?
PS:我刚刚发现的一个区别是 apktool 能够处理一个 apk 中的多个 dex 文件,而 baksmali 不能(至少目前是这样)
我确实尝试过阅读源代码,但由于缺乏经验,我无法真正理解这两个工具的工作流程。如果有人可以建议一些阅读材料或流程图等,我将不胜感激。
谢谢!
我尝试传递给GridSearchCV
其他评分指标,例如balanced_accuracy
二元分类(而不是默认值accuracy
)
scoring = ['balanced_accuracy','recall','roc_auc','f1','precision']
validator = GridSearchCV(estimator=clf, param_grid=param_grid, scoring=scoring, refit=refit_scorer, cv=cv)
Run Code Online (Sandbox Code Playgroud)
并得到这个错误
ValueError: 'balanced_accuracy' 不是有效的评分值。有效选项为 ['accuracy','adjusted_mutual_info_score','adjusted_rand_score','average_precision','completeness_score','explained_variance','f1','f1_macro','f1_micro','f1_samples','f1_owls_mallows', ','homogeneity_score','mutual_info_score','neg_log_loss','neg_mean_absolute_error','neg_mean_squared_error','neg_mean_squared_log_error','neg_median_absolute_error','neg_median_absolute_error','normalized_mutual_sample_precision,'precision_precision,'precision_precision,'precision_precision,'precision,'precision 'precision_weighted','r2','recall','recall_macro','recall_micro','
这很奇怪,因为 'balanced_accuracy'应该是有效的,
如果没有定义,balanced_accuracy
那么代码工作正常
scoring = ['recall','roc_auc','f1','precision']
Run Code Online (Sandbox Code Playgroud)
此外,上述错误中的评分指标似乎与文档中的不同
任何想法为什么?非常感谢
scikit-learn
版本是 0.19.2
我正在用Keras进行二进制分类
loss='binary_crossentropy'
,optimizer=tf.keras.optimizers.Adam
最后一层是keras.layers.Dense(1, activation=tf.nn.sigmoid)
。
据我所知,loss
价值是在训练阶段用来评估模型的。但是,当我Keras
对测试数据集使用模型评估时(例如m_recall.evaluate(testData,testLabel)
,也有一些loss
值,并附带accuracy
以下输出所示的值)
test size: (1889, 18525)
1889/1889 [==============================] - 1s 345us/step
m_acc: [0.5690245978371045, 0.9523557437797776]
1889/1889 [==============================] - 1s 352us/step
m_recall: [0.24519687695911097, 0.9359449444150344]
1889/1889 [==============================] - 1s 350us/step
m_f1: [0.502442331737344, 0.9216516675489677]
1889/1889 [==============================] - 1s 360us/step
metric name: ['loss', 'acc']
Run Code Online (Sandbox Code Playgroud)
loss
测试期间的意义/用途是什么?为什么它是如此之高(如0.5690
在m_acc
)?准确度评估对我来说似乎不错(例如,0.9523
在中m_acc
),但我也很担心loss
,这是否会使我的模型表现不佳?
PS
m_acc
,m_recall
等等都只是我的名字我的模型的方法(它们是由不同的指标受训GridSearchCV
)
更新:
我只是意识到loss …
python ×2
android ×1
apktool ×1
decompiler ×1
keras ×1
metrics ×1
pytorch ×1
scikit-learn ×1
smali ×1
tensorflow ×1