在项目中使用线性回归预测成绩
因为涉及到版权问题,只弄核心部分。
数据方面以及weka在这一篇博客中介绍了
链接: https://blog.youkuaiyun.com/Nothing_ness/article/details/109331074.
1引入依赖pom.xml(记得刷新maven配置)
<!-- weka集成java-->
<dependency>
<groupId>nz.ac.waikato.cms.weka</groupId>
<artifactId>weka-stable</artifactId>
<version>3.8.1</version>
</dependency>
2新建LRRegression类
import weka.classifiers.Evaluation;
import weka.classifiers.functions.LinearRegression;
import weka.core.Instances;
import weka.core.SparseInstance;
import weka.core.converters.ArffLoader;
import weka.core.converters.ConverterUtils.DataSource;
import java.io.File;
import java.util.Arrays;
/**
* @Author:wzy
* @Date: 2020-10-9 9:27
* @Description:
*/
public class LRRegression {
private LRRegression(){}
/**
* 分析ARFF文件,获取其文件中的格式定义信息
* @param filePath 传入的ARFF文件的文件路径,这里暂时不支持http和ftp,只支持本地文件
* @return 封装字符串的文件内容返回对象
* @throws Exception
*/
public static String parseArffFile(String filePath) throws Exception {
// 创建一个arff文件载入器
ArffLoader loader = new ArffLoader();
//载入文件内容,获取其数据集合
loader.setSource(new File(filePath));
//获取文件中的数据集合
Instances data = loader.getDataSet();
//封装