亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分類回歸樹什么時候不能反映數據的真實趨勢

發布時間:2020-06-27 04:32:25 來源:網絡 閱讀:1203 作者:necther 欄目:大數據

本質上lightgbm和xgboost都是基于分類回歸樹集成的學習算法,所以他們也會有一些先天缺陷:

當訓練數據的特征都集中在一個區間內,而測試數據偏離該區間較大時會出現不能擬合的情況,根本原因是因為分類回歸樹對于某一個葉子節點上的數據的目標值是采取該葉子節點的目標值均值做梯度提升最終確定預測值的。

比如我有個數據如下:
x,y
1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9
10,10
11,11
12,12
13,13
14,14
15,15
16,16
17,17
18,18
19,19
20,20
21,21
22,22
23,23
24,24
25,25
26,26
27,27
28,28
這個非常明顯 是 y=x
如果輸入測試數據 x =200 y應該是200

但是你用下面的程序測試,發現怎么調參數都不能得到200
因為分類回歸樹將這些數據分到若干個葉子節點上時候,采用的目標值最大只有28,他沒有再根據特征做線性關系的擬合。程序如下:

import pandas as pd
import lightgbm as lgb

path_train = "data.csv"
train1 = pd.read_csv(path_train)
testlist = [[200]]

# 采用lgb回歸預測模型,具體參數設置如下
model_lgb = lgb.LGBMRegressor(objective='regression',num_leaves=28,
                              learning_rate=0.1, n_estimators=2000,
                              max_bin = 28, bagging_fraction = 0.8,
                              bagging_freq = 5, feature_fraction = 0.2319,
                              feature_fraction_seed=9, bagging_seed=9,
                              min_data_in_leaf =10, min_sum_hessian_in_leaf = 100
                              ,max_depth = 10)
# 訓練、預測
model_lgb.fit(train1[['x']].fillna(-1), train1['y'])
test1 = pd.DataFrame(testlist)
test1.columns = ['x']
y_pred = model_lgb.predict(test1[['x']].fillna(-1))
print(y_pred)
print("lgb success")

套用一句話就是“沒有見過星空的民族。怎會有遨游宇宙的夢想”
所以并不是什么數據都可以直接往lightgbm,xgboost里面灌的,要注意分析這個新的預測的數據的特征是否在訓練數據集的特征的空間范圍內。
不然挖掘的時候應該采用其他的方法分析。例如線性回歸,或者將上面的博客的分類回歸樹底層加一個線性回歸。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六安市| 洛浦县| 高尔夫| 大理市| 宣威市| 宜君县| 三台县| 余姚市| 额济纳旗| 青铜峡市| 洛宁县| 平利县| 桦南县| 景洪市| 车险| 嘉兴市| 蒙自县| 平南县| 泾川县| 闻喜县| 大田县| 新干县| 独山县| 个旧市| 海丰县| 自贡市| 大埔县| 周口市| 南宫市| 陆川县| 洪湖市| 建昌县| 黑山县| 定边县| 湛江市| 宁安市| 五峰| 咸宁市| 旅游| 无为县| 思茅市|