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代码导出完成")