This commit is contained in:
coco
2026-07-14 09:44:44 +08:00
parent fe2bb81260
commit 88c0fbefef
583 changed files with 115036 additions and 0 deletions
+241
View File
@@ -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代码导出完成")