我一直在尝试为https://clarkdatalabs.github.io/soms/SOM_NBA中受监督的kohonen SOM运行示例代码。当我尝试预测测试集数据时,出现以下错误:
import React from "react";
import ReactDOM from "react-dom";
import { createStore } from "redux";
import { Provider } from "react-redux";
import "./Style.css";
import App from "./App";
import reducer from "./reducers";
let persistedState = localStorage.getItem("reduxState")
? JSON.parse(localStorage.getItem("reduxState"))
: {};
const store = createStore(
reducer,
// persistedState,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
// store.subscribe(() => {
// localStorage.setItem('reduxState', JSON.stringify(store.getState()));
// });
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById("root")
);
我尝试过newdata = as.matrix(NBA.testing),但没有帮助。 as.factor()都没有。
为什么会发生?我该如何解决?
答案 0 :(得分:0)
您应该再向预测函数添加一个参数,即“ whatmap”,然后将其值设置为1。 代码如下:
pos.prediction <- predict(NBA.SOM3, newdata = NBA.testing, whatmap = 1)
要验证预测结果,可以使用:
table(NBA$Pos[-training_indices], pos.prediction$predictions[[2]], useNA = 'always')
由于未声明使用set.seed()函数,因此结果可能与本教程的结果不同。 我建议在训练阶段之前的某个地方声明其中带有任意数字的set.seed()。 为简单起见,请将其放在脚本的最顶部,例如
set.seed(12345)
这将确保您下次重新运行脚本时模型的结果可重复。
希望会有所帮助。