日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ML之xgboost:利用xgboost算法(特征筛选和GridSearchCV)对数据集实现回归预测

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML之xgboost:利用xgboost算法(特征筛选和GridSearchCV)对数据集实现回归预测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ML之xgboost:利用xgboost算法(特征篩選和GridSearchCV)對數據集實現回歸預測

?

?

?

目錄

輸出結果

實現代碼


?

?

?

?

?

輸出結果

['EnterCOD', 'EnterBOD', 'EnterAD', 'EnterZL', 'EnterZD', 'EnterPH', 'EnterSS', 'M4', 'N4', 'O4', 'P4', 'Q4', 'R4']EnterCOD EnterBOD EnterAD EnterZL EnterZD EnterPH EnterSS M4 \ 0 299.0 0.0 16.7 9.63 26.5 7 354.0 4609.0 1 331.0 0.0 15.0 9.34 31.8 7 297.5 4834.0 2 326.0 0.0 19.6 11.17 33.5 7 389.5 4928.0 3 230.0 0.0 17.4 6.23 32.3 7 277.5 5073.0 4 149.0 0.0 16.8 3.59 23.7 7 106.0 4856.0 N4 O4 P4 Q4 R4 0 2346.0 1.72 32.0 69.43 17.0 1 2434.0 1.72 34.0 70.34 18.0 2 2604.0 1.70 35.0 71.02 18.0 3 2678.0 1.68 36.0 70.96 19.0 4 2452.0 1.69 37.0 76.19 19.0 mlss準確率: 0.950752699205583 特征: Index(['EnterCOD', 'EnterBOD', 'EnterAD', 'EnterZL', 'EnterZD', 'EnterPH','EnterSS', 'M4', 'N4', 'O4', 'P4', 'Q4', 'R4'],dtype='object') 每個特征的重要性: [100. 21.307432 48.90534 37.218624 26.950356 2.08140631.82239 72.88005 49.49121 61.9334 19.071848 33.44125717.745914]mlss選取重要特征后準確率: 0.9485146037853682 重要特征: Index(['EnterCOD', 'M4', 'O4', 'N4', 'EnterAD', 'EnterZL', 'Q4', 'EnterSS','EnterZD', 'EnterBOD', 'P4', 'R4'],dtype='object') 每個重要特征的重要性: [100. 92.00673 75.79092 55.387436 36.038513 32.21763642.442307 28.243927 24.789852 12.685312 18.707016 19.150238]

?

實現代碼

#ML之xgboost:利用xgboost算法(特征篩選和GridSearchCV)對數據集實現回歸預測import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import metrics import pickle from xgboost.sklearn import XGBRegressor from sklearn.preprocessing import StandardScaler from clean_data import prep_water_data, normalize_water_data, normalize_data, delete_null_date from sklearn.model_selection import KFold, train_test_split, GridSearchCV, cross_val_score from sklearn.model_selection import TimeSeriesSplitdef GDBTTrain(X, y):"""xgboost用法"""train_x, test_x, train_y, test_y = train_test_split(X, y, test_size=0.3, random_state=0) ##test_size測試集合所占比例test_preds = pd.DataFrame({"label": test_y})clf = XGBRegressor(learning_rate=0.1, # 默認0.3n_estimators=400, # 樹的個數max_depth=8,)clf.fit(train_x, train_y)test_preds['y_pred'] = clf.predict(test_x)stdm = metrics.r2_score(test_preds['label'], test_preds['y_pred'])# GridSearchCV和cross_val_score的結果一樣 # scores = cross_val_score(clf, X, y, scoring='r2') # print(scores) # gs = GridSearchCV(clf, {}, cv=3, verbose=3).fit(X, y)return stdm, clfdef XGTSearch(X, y):print("Parameter optimization")n_estimators = [50, 100, 200, 400]max_depth = [2, 4, 6, 8]learning_rate = [0.0001, 0.001, 0.01, 0.1, 0.2, 0.3]param_grid = dict(max_depth=max_depth, n_estimators=n_estimators, learning_rate=learning_rate)xgb_model = XGBRegressor()kfold = TimeSeriesSplit(n_splits=2).get_n_splits([X, y])fit_params = {"eval_metric": "rmse"}grid_search = GridSearchCV(xgb_model, param_grid, verbose=1, fit_params=fit_params, cv=kfold)grid_result = grid_search.fit(X, y)# summarize resultsprint("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))means = grid_result.cv_results_['mean_test_score']stds = grid_result.cv_results_['std_test_score']params = grid_result.cv_results_['params']for mean, stdev, param in zip(means, stds, params):print("%f (%f) with: %r" % (mean, stdev, param))return means, grid_resultfeature_string = 'EnterCOD EnterBOD EnterAD EnterZL EnterZD EnterPH EnterSS M4 N4 O4 P4 Q4 R4' # 選取的特征 outputs_string = 'mlss mlvss sv30 OutCOD OutBOD OutAD OutZL OutZD OutPH OutSS' # 需要預測的標簽 feature = feature_string.split() outputs = outputs_string.split() print(feature)def prep_water_data(data, columns):for c in columns:data[c] = [0 if ((x in ['Not Available', 'Not Mapped', 'NULL']) | (pd.isnull(x))) else x for x in data[c]]return datadef delete_null_date(data, date_name):data = data[data[date_name].notnull()] # 刪除日期存在缺失的數據return datadata = pd.read_csv('water_a.csv', encoding="gb18030") data = prep_water_data(data, feature)print(data.iloc[:5][feature])def predict(data, out):data = delete_null_date(data, out)y = data[out]# y = y.as_matrix()X = data[feature]stdm, clf = GDBTTrain(X, y)print(out +'準確率:', stdm)feature_importance = clf.feature_importances_feature_importance = 100.0 * (feature_importance / feature_importance.max())print('特征:', X.columns)print('每個特征的重要性:', feature_importance)sorted_idx = np.argsort(feature_importance)pos = np.arange(sorted_idx.shape[0])plt.barh(pos, feature_importance[sorted_idx], align='center')plt.yticks(pos, X.columns[sorted_idx])plt.xlabel('Features')plt.ylabel('Importance')plt.title('Variable Importance')plt.show()#.......................選取重要性高的特征再次進行訓練和預測..................................#X = data[X.columns[sorted_idx][::-1][:-1]]stdm, clf = GDBTTrain(X, y)print(out +'選取重要特征后準確率:', stdm)feature_importance = clf.feature_importances_feature_importance = 100.0 * (feature_importance / feature_importance.max())print('重要特征:', X.columns)print('每個重要特征的重要性:', feature_importance)sorted_idx = np.argsort(feature_importance)pos = np.arange(sorted_idx.shape[0])plt.barh(pos, feature_importance[sorted_idx], align='center')plt.yticks(pos, X.columns[sorted_idx])plt.xlabel('Features')plt.ylabel('Importance')plt.title('重要特征 Variable Importance')plt.show()for out in outputs[:1]:sorted_idx = predict(data, out)

?

總結

以上是生活随笔為你收集整理的ML之xgboost:利用xgboost算法(特征筛选和GridSearchCV)对数据集实现回归预测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一个色综合导航 | 自拍日韩亚洲一区在线 | 91素人约啪 | 网站一级片 | 青娱乐av | 日韩欧美精品在线播放 | 国产馆视频 | 国产精品久久九九 | 亚洲另类xxxx | 乱岳| 日本大胆裸体做爰视频 | 国产精品无码午夜福利 | 特黄特色大片免费视频大全 | 日韩一区不卡 | 午夜精品国产精品大乳美女 | 亚洲精品在线91 | 国产毛片基地 | 成人网在线观看 | 老熟妇高潮一区二区三区 | 人妻射精一区二区 | 一二三区视频 | 国产精品久久久999 www日本高清视频 | 国产男女av | 久久久精品人妻一区二区三区色秀 | 熟女一区二区三区四区 | 黄色片xxx | wwww黄色片 | 久久潮| 在线免费观看av网站 | 久久av秘一区二区三区 | 天天操人人干 | 精品国产一二三 | 懂色av一区二区三区蜜臀 | 粉嫩精品久久99综合一区 | 韩国成人免费视频 | 亚洲呦呦| 国产白拍 | 欧美成人精品一区二区三区 | 午夜大片 | 91青青草| 一级成人免费 | 美腿丝袜av| 操极品 | 奇米狠狠777| 日本a级网站 | av网站大全在线 | av福利在线播放 | 日本成人一二三区 | 免费av导航 | 国产农村妇女毛片精品久久 | 亚洲精品小说 | 日韩精品一卡二卡 | www.精品久久| 中文天堂在线视频 | 91九色丨porny丨国产jk | 亚洲91色| 日韩欧美一区视频 | 大牛影视剧免费播放在线 | 麻豆一区二区在线观看 | 免费一级片视频 | 色a在线| 成人啪啪网站 | 中文字幕最新在线 | 精品久久无码视频 | 久久看视频 | 德国艳星videos极品hd | 男女一进一出视频 | 亚洲综合日韩 | 肥臀浪妇太爽了快点再快点 | 亚洲国产精品尤物yw在线观看 | 免费av网站大全 | 毛茸茸亚洲孕妇孕交片 | 亚洲精品一线 | 精品人妻视频在线 | 中文字幕精品视频 | 欧美一级少妇 | 嫩草视频国产 | av资源网在线观看 | 天天色一色 | 九九热精品免费视频 | 亚洲无码国产精品 | 久久影院一区二区 | 无码精品人妻一区二区三区湄公河 | 日韩黄色网址 | 亚洲伊人精品 | 亚洲自啪 | 中文字幕在线免费播放 | 日本欧美久久久久免费播放网 | 久久福利电影 | 欧美天天性影院 | 国产欧美视频在线观看 | 中文字幕一区二区在线老色批影视 | 久久久精品一区二区 | 色乱码一区二区三区 | 一区二区免费看 | 国产4区 | 偷拍超碰| 欧美精品videos极品 | 影音先锋男人资源网站 |