a
This commit is contained in:
+241
@@ -0,0 +1,241 @@
|
||||
train_features = train_features.drop("left_block_R",axis=1)
|
||||
train_features = train_features.drop("left_block_G",axis=1)
|
||||
train_features = train_features.drop("left_block_B",axis=1)
|
||||
#train_features = train_features.drop("left_block_H",axis=1)
|
||||
#train_features = train_features.drop("left_block_S",axis=1)
|
||||
#train_features = train_features.drop("left_block_V",axis=1)
|
||||
train_features = train_features.drop("left_block_l",axis=1)
|
||||
train_features = train_features.drop("left_block_a",axis=1)
|
||||
train_features = train_features.drop("left_block_b",axis=1)
|
||||
|
||||
|
||||
train_features = train_features.drop("left_block_R_stddev",axis=1)
|
||||
train_features = train_features.drop("left_block_G_stddev",axis=1)
|
||||
train_features = train_features.drop("left_block_B_stddev",axis=1)
|
||||
#train_features = train_features.drop("left_block_H_stddev",axis=1)
|
||||
#train_features = train_features.drop("left_block_S_stddev",axis=1)
|
||||
#train_features = train_features.drop("left_block_V_stddev",axis=1)
|
||||
train_features = train_features.drop("left_block_l_stddev",axis=1)
|
||||
train_features = train_features.drop("left_block_a_stddev",axis=1)
|
||||
train_features = train_features.drop("left_block_b_stddev",axis=1)
|
||||
|
||||
|
||||
train_features = train_features.drop("left_block_R_hist",axis=1)
|
||||
train_features = train_features.drop("left_block_G_hist",axis=1)
|
||||
train_features = train_features.drop("left_block_B_hist",axis=1)
|
||||
#train_features = train_features.drop("left_block_H_hist",axis=1)
|
||||
#train_features = train_features.drop("left_block_S_hist",axis=1)
|
||||
#train_features = train_features.drop("left_block_V_hist",axis=1)
|
||||
train_features = train_features.drop("left_block_l_hist",axis=1)
|
||||
train_features = train_features.drop("left_block_a_hist",axis=1)
|
||||
train_features = train_features.drop("left_block_b_hist",axis=1)
|
||||
|
||||
train_features = train_features.drop("left_block_R_max",axis=1)
|
||||
train_features = train_features.drop("left_block_G_max",axis=1)
|
||||
train_features = train_features.drop("left_block_B_max",axis=1)
|
||||
#train_features = train_features.drop("left_block_H_max",axis=1)
|
||||
#train_features = train_features.drop("left_block_S_max",axis=1)
|
||||
#train_features = train_features.drop("left_block_V_max",axis=1)
|
||||
train_features = train_features.drop("left_block_l_max",axis=1)
|
||||
train_features = train_features.drop("left_block_a_max",axis=1)
|
||||
train_features = train_features.drop("left_block_b_max",axis=1)
|
||||
|
||||
train_features = train_features.drop("left_block_R_min",axis=1)
|
||||
train_features = train_features.drop("left_block_G_min",axis=1)
|
||||
train_features = train_features.drop("left_block_B_min",axis=1)
|
||||
#train_features = train_features.drop("left_block_H_min",axis=1)
|
||||
#train_features = train_features.drop("left_block_S_min",axis=1)
|
||||
#train_features = train_features.drop("left_block_V_min",axis=1)
|
||||
train_features = train_features.drop("left_block_l_min",axis=1)
|
||||
train_features = train_features.drop("left_block_a_min",axis=1)
|
||||
train_features = train_features.drop("left_block_b_min",axis=1)
|
||||
|
||||
##################################################################
|
||||
|
||||
|
||||
train_features = train_features.drop("right_block_R",axis=1)
|
||||
train_features = train_features.drop("right_block_G",axis=1)
|
||||
train_features = train_features.drop("right_block_B",axis=1)
|
||||
#train_features = train_features.drop("right_block_H",axis=1)
|
||||
#train_features = train_features.drop("right_block_S",axis=1)
|
||||
#train_features = train_features.drop("right_block_V",axis=1)
|
||||
train_features = train_features.drop("right_block_l",axis=1)
|
||||
train_features = train_features.drop("right_block_a",axis=1)
|
||||
train_features = train_features.drop("right_block_b",axis=1)
|
||||
|
||||
train_features = train_features.drop("right_block_R_stddev",axis=1)
|
||||
train_features = train_features.drop("right_block_G_stddev",axis=1)
|
||||
train_features = train_features.drop("right_block_B_stddev",axis=1)
|
||||
#train_features = train_features.drop("right_block_H_stddev",axis=1)
|
||||
#train_features = train_features.drop("right_block_S_stddev",axis=1)
|
||||
#train_features = train_features.drop("right_block_V_stddev",axis=1)
|
||||
train_features = train_features.drop("right_block_l_stddev",axis=1)
|
||||
train_features = train_features.drop("right_block_a_stddev",axis=1)
|
||||
train_features = train_features.drop("right_block_b_stddev",axis=1)
|
||||
|
||||
train_features = train_features.drop("right_block_R_hist",axis=1)
|
||||
train_features = train_features.drop("right_block_G_hist",axis=1)
|
||||
train_features = train_features.drop("right_block_B_hist",axis=1)
|
||||
#train_features = train_features.drop("right_block_H_hist",axis=1)
|
||||
#train_features = train_features.drop("right_block_S_hist",axis=1)
|
||||
#train_features = train_features.drop("right_block_V_hist",axis=1)
|
||||
train_features = train_features.drop("right_block_l_hist",axis=1)
|
||||
train_features = train_features.drop("right_block_a_hist",axis=1)
|
||||
train_features = train_features.drop("right_block_b_hist",axis=1)
|
||||
|
||||
train_features = train_features.drop("right_block_R_max",axis=1)
|
||||
train_features = train_features.drop("right_block_G_max",axis=1)
|
||||
train_features = train_features.drop("right_block_B_max",axis=1)
|
||||
#train_features = train_features.drop("right_block_H_max",axis=1)
|
||||
#train_features = train_features.drop("right_block_S_max",axis=1)
|
||||
#train_features = train_features.drop("right_block_V_max",axis=1)
|
||||
train_features = train_features.drop("right_block_l_max",axis=1)
|
||||
train_features = train_features.drop("right_block_a_max",axis=1)
|
||||
train_features = train_features.drop("right_block_b_max",axis=1)
|
||||
|
||||
|
||||
train_features = train_features.drop("right_block_R_min",axis=1)
|
||||
train_features = train_features.drop("right_block_G_min",axis=1)
|
||||
train_features = train_features.drop("right_block_B_min",axis=1)
|
||||
#train_features = train_features.drop("right_block_H_min",axis=1)
|
||||
#train_features = train_features.drop("right_block_S_min",axis=1)
|
||||
#train_features = train_features.drop("right_block_V_min",axis=1)
|
||||
train_features = train_features.drop("right_block_l_min",axis=1)
|
||||
train_features = train_features.drop("right_block_a_min",axis=1)
|
||||
train_features = train_features.drop("right_block_b_min",axis=1)
|
||||
|
||||
|
||||
####################################################################
|
||||
|
||||
train_features = train_features.drop("whiteBlock_R",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_G",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_B",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_H",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_S",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_V",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_l",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_a",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_b",axis=1)
|
||||
|
||||
|
||||
train_features = train_features.drop("whiteBlock_R_stddev",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_G_stddev",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_B_stddev",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_H_stddev",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_S_stddev",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_V_stddev",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_l_stddev",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_a_stddev",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_b_stddev",axis=1)
|
||||
|
||||
train_features = train_features.drop("whiteBlock_R_hist",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_G_hist",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_B_hist",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_H_hist",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_S_hist",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_V_hist",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_l_hist",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_a_hist",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_b_hist",axis=1)
|
||||
|
||||
train_features = train_features.drop("whiteBlock_R_max",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_G_max",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_B_max",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_H_max",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_S_max",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_V_max",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_l_max",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_a_max",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_b_max",axis=1)
|
||||
|
||||
|
||||
train_features = train_features.drop("whiteBlock_R_min",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_G_min",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_B_min",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_H_min",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_S_min",axis=1)
|
||||
#train_features = train_features.drop("whiteBlock_V_min",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_l_min",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_a_min",axis=1)
|
||||
train_features = train_features.drop("whiteBlock_b_min",axis=1)
|
||||
|
||||
|
||||
|
||||
|
||||
##################################################################
|
||||
|
||||
|
||||
#from sklearn.model_selection import KFold
|
||||
from sklearn.ensemble import RandomForestClassifier
|
||||
from sklearn.metrics import accuracy_score
|
||||
from sklearn.svm import SVC
|
||||
from sklearn.metrics import f1_score
|
||||
from sklearn.metrics import precision_score
|
||||
from sklearn.metrics import recall_score
|
||||
|
||||
|
||||
from sklearn.ensemble import ExtraTreesClassifier
|
||||
from sklearn.ensemble import AdaBoostClassifier
|
||||
|
||||
# 使用train_features
|
||||
from sklearn.model_selection import train_test_split
|
||||
X_train ,X_test,y_train,y_test = train_test_split(train_features,train_labels,test_size = 0.3, random_state = 20)
|
||||
#X_train ,X_test,y_train,y_test = train_test_split(train_features_9,train_labels,test_size = 0.2, random_state = 20)
|
||||
|
||||
|
||||
from sklearn.ensemble import RandomForestClassifier
|
||||
from sklearn.metrics import classification_report
|
||||
from sklearn.metrics import classification_report,confusion_matrix
|
||||
from sklearn.metrics import f1_score
|
||||
from sklearn.metrics import precision_score
|
||||
from sklearn.metrics import recall_score
|
||||
|
||||
#rfc = RandomForestClassifier(n_estimators=600)
|
||||
|
||||
#rfc = RandomForestClassifier(n_estimators=50)
|
||||
#RandomForest accuracy score: 0.9955591300090916
|
||||
|
||||
rfc = RandomForestClassifier(n_estimators=50,min_samples_leaf=20)
|
||||
#RandomForest accuracy score: 0.9772012028813204/0.9803133086229806/0.9811874956290649/0.9852786908175397
|
||||
|
||||
#rfc = RandomForestClassifier(n_estimators=50)
|
||||
#RandomForest accuracy score: 0.9955940974893349
|
||||
|
||||
#rfc = RandomForestClassifier(n_estimators=100,min_samples_leaf=50)
|
||||
#RandomForest accuracy score: 0.97688649555913
|
||||
|
||||
#rfc = RandomForestClassifier(n_estimators=50,min_samples_leaf=100)
|
||||
#RandomForest accuracy score: 0.9669906986502552
|
||||
|
||||
|
||||
rfc.fit(X_train, y_train)
|
||||
rfc_pred = rfc.predict(X_test)
|
||||
cr = classification_report(y_test,rfc_pred)
|
||||
print(cr)
|
||||
cm = confusion_matrix(y_test,rfc_pred)
|
||||
print(cm)
|
||||
|
||||
print("---------------------------------\n")
|
||||
print ("Accuracy of prediction:",round((cm[0,0]+cm[1,1])/cm.sum(),3))
|
||||
print ("RandomForest accuracy score:" , accuracy_score(y_test,rfc_pred))
|
||||
print("---------------------------------\n")
|
||||
print ("f1 score:" , f1_score(y_test,rfc_pred,average='micro'))
|
||||
print ("precision_score:" , precision_score(y_test,rfc_pred,average='micro'))
|
||||
print ("recall_score:" , recall_score(y_test,rfc_pred,average='micro'))
|
||||
|
||||
|
||||
|
||||
import m2cgen as m2c
|
||||
|
||||
# 导出纯C代码
|
||||
c_code = m2c.export_to_c(rfc)
|
||||
# 保存文件,用文本模式w,不要wb
|
||||
with open("clf/ov_rtree50_f20_20260708.cpp", "w", encoding="utf-8") as f:
|
||||
f.write(c_code)
|
||||
print("模型C代码导出完成")
|
||||
|
||||
java_code = m2c.export_to_java(rfc)
|
||||
with open("clf/ov_rtree50_f20_20260708.java", "w", encoding="utf-8") as f:
|
||||
f.write(java_code)
|
||||
print("模型java代码导出完成")
|
||||
|
||||
Reference in New Issue
Block a user