def loadDataFrame(): iris = load_iris() iris_data = iris.data iris_target = iris.target iris_df = pd.DataFrame(iris_data, columns=iris.feature_names) iris_df['target'] = pd.Series(iris_target) return iris_df if __name__ == "__main__": iris_df = loadDataFrame() value_counts = iris_df['target'].value_counts() print(value_counts) X_iris = iris_df.iloc[:, :-1].values y_iris = iris_df.iloc[:, -1].values X_train, X_test, y_train, y_test = train_test_split(X_iris, y_iris, test_size=0.3, stratify=y_iris) model = LGBMClassifier() model.fit(X_train, y_train) print(model.get_params()) y_pred = model.predict(X_test) print("accuracy: %s" % np.mean(y_pred == y_test))
random_state=10) lgb = joblib.load('LightGBM_model.pkl') dtime1 = time.time() - time1 # 预测测试集1 time2 = time.time() test_pre = lgb.predict(data['test_data']) dtime2 = time.time() - time2 test_preb = lgb.predict_proba(data['test_data']) acc = metrics.accuracy_score(data['test_label'], test_pre) t = [i[1] for i in test_preb] auc = metrics.roc_auc_score(data['test_label'], t) recall = metrics.recall_score(data['test_label'], test_pre) prec = metrics.precision_score(data['test_label'], test_pre) f1 = metrics.f1_score(data['test_label'], test_pre) print(lgb.get_params()) print(lgb.feature_importances_) print('''train time: %d predict time: %d acc: %f auc: %f recall: %f precision: %f f1: %f''' % (dtime1, dtime2, acc, auc, recall, prec, f1)) joblib.dump(lgb, 'LightGBM_model.pkl') pre_list = [] for p in test_preb: if p[1] < 0.5: pre_list.append(0) else: