Javascript 包括加载本地CSV文件和运行wink naive bayes文本分类器的节点模块
我刚开始学习Node.js,不知道如何从本地CSV文件加载数据并使用它来学习数据 我可以使用或示例从本地CSV文件加载数据。但问题是,我不知道如何将wink的NaiveBayes库加载到客户端JS。有没有办法在我下面写的脚本中包含节点的模块,比如winkJavascript 包括加载本地CSV文件和运行wink naive bayes文本分类器的节点模块,javascript,node.js,papaparse,Javascript,Node.js,Papaparse,我刚开始学习Node.js,不知道如何从本地CSV文件加载数据并使用它来学习数据 我可以使用或示例从本地CSV文件加载数据。但问题是,我不知道如何将wink的NaiveBayes库加载到客户端JS。有没有办法在我下面写的脚本中包含节点的模块,比如wink <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test Naive Bay
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test Naive Bayes</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="./papaparse.min.js"></script>
</head>
<body>
<input type="file" id="csv-file" name="files"/>
</body>
<script>
// REF: https://www.joyofdata.de/blog/parsing-local-csv-file-with-javascript-papa-parse/
// http://archive.is/ySSC8
var data;
function handleFileSelect(evt) {
var file = evt.target.files[0];
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function(results) {
data = results;
}
});
}
$(document).ready(function(){
$("#csv-file").change(handleFileSelect);
});
</script>
</html>
在浏览器中工作时使用节点模块的一种简单方法是使用。在您的工作目录中:
npm install wink-naive-bayes-text-classifier --save
npm install -g browserify
您必须将代码移动到单独的脚本文件中,比如process-data.js。并且,从HTML中,您将包含一个不同的脚本-bundle.js,我们将在最后讨论:
测试朴素贝叶斯
在process-data.js中,您现在可以只需要使用库,如图1所示
//参考:https://www.joyofdata.de/blog/parsing-local-csv-file-with-javascript-papa-parse/
// http://archive.is/ySSC8
//加载朴素贝叶斯文本分类器
var分类器=需要“wink naive bayes文本分类器”;
//实例化
var-nbc=分类器;
var数据;
函数handleFileSelectevt{
var file=evt.target.files[0];
Papa.parsefile{
标题:对,
动态打字:对,
完成:函数结果{
数据=结果;
//您现在可以使用nbc和数据:
//nbc.Learnada[0];
}
};
}
$document.readyfunction{
$csv-file.changehandleFileSelect;
};
最后,要创建bundle.js文件,您将运行browserify:
browserify process-data.js -o bundle.js
这将把您需要的所有模块捆绑到一个HTML调用的文件中。如果您不想键入这么多,每次您可能考虑添加.< /p>,您可以使用模块捆绑器(如WebPACK或BurSeriType)将节点模块转换为可在前端使用的捆绑包。更多信息请点击这里:@JakeMiller谢谢!我会看一看,如果有后续问题,可能会回来问。