小编D00*_*ood的帖子

RandomForest 和 XGB 的 Shap 值维度不同,为什么/如何?有什么办法可以解决这个问题吗?

从树解释器返回的 SHAP 值为.shap_values(some_data)XGB 提供了与随机森林不同的维度/结果。我尝试过研究它,但似乎找不到原因或方式,也找不到斯伦德伯格(SHAP dude)教程中的解释。所以:

  • 我缺少这个原因吗?
  • 是否有一些标志可以返回每个类的 XGB 的形状值,就像其他不明显或我丢失的模型一样?

下面是一些示例代码!

import xgboost.sklearn as xgb
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
import shap

bc = load_breast_cancer()
cancer_df = pd.DataFrame(bc['data'], columns=bc['feature_names'])
cancer_df['target'] = bc['target']
cancer_df = cancer_df.iloc[0:50, :]
target = cancer_df['target']
cancer_df.drop(['target'], inplace=True, axis=1)

X_train, X_test, y_train, y_test = train_test_split(cancer_df, target, test_size=0.33, random_state = 42)

xg = xgb.XGBClassifier()
xg.fit(X_train, y_train)
rf = RandomForestClassifier()
rf.fit(X_train, y_train)

xg_pred = xg.predict(X_test)
rf_pred = …
Run Code Online (Sandbox Code Playgroud)

python random-forest scikit-learn xgbclassifier shap

7
推荐指数
1
解决办法
2708
查看次数

按住按钮时非线性增加值(React)

如果之前有人问过这个问题,我很抱歉,但我还没有找到任何可以帮助我的东西,而且我是 React 新手!

n我想要一个值随着用户按住按钮的每秒数而增加。现在它只是每 35 毫秒线性增加一次!

到目前为止我有这样的事情:

function Increaser() {

  const [value, setValue] = useState(0);
  const changeTimer: React.MutableRefObject<any> = useRef(null);

  function timeoutClearUp() {
    clearInterval(changeTimer.current);
  }

  function increment() {
    changeTimer.current = setInterval(() => setValue(prev => prev + 1), 35);
  };

  function onChange(e: any) {
    setValue(parseInt(e.target.value));
  }

  return (
    <div>
      <button onMouseUp={timeoutClearUp} onMouseDown={increment}>INCREASE</button>
      <input
            type="number"
            value={value}
            onChange={(e) => {onChange(e)}}
          />
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

我尝试过添加另一个ref,但似乎不起作用!我可以在这段代码中添加一个小东西,以确保每秒value都会增加一个越来越大的值(用户按住按钮的时间越长)。

非常感谢!

  • 反应:^17.0.2
  • 打字稿:^4.5.5

javascript user-experience reactjs

4
推荐指数
1
解决办法
915
查看次数