• 大小: 19KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-07-01
  • 语言: Java
  • 标签:

资源简介

实验描述: 对指定数据集进行分类问题的分析,选择适当的分类算法,编写程序实现,提交程序和结果报告 数据集: balance-scale.data(见附件一) ,已有数据集构建贝叶斯分类器。 数据包括四个属性:五个属性值 第一个属性值表示样本的类别号,其他四个属性为四个不同的特征值。

资源截图

代码片段和文件信息

package com.company;
/********************************************************************************
 *
 * 李勇志 2014301500370
 * 数据挖掘实验,分类实验
 * 朴素贝叶斯分类
 *
 *训练样本示例格式:(R1554)
 */

import java.io.File;
import java.util.Scanner;
import java.util.Vector;

public class Bayes {
    static Vector indata = new Vector<>();//读入数据
    static Vector catagory_R = new Vector<>();//存储类别R的所有数据
    static Vector catagory_L = new Vector<>();//存储类别L的所有数据
    static Vector catagory_B = new Vector<>();//存储类别B的所有数据


    public static boolean loadData(String url) {//加载测试的数据文件
        try {
            Scanner in = new Scanner(new File(url));//读入文件
            while (in.hasNextLine()) {
                String str = in.nextLine();//将文件的每一行存到str的临时变量中
                indata.add(str);//将每一个样本点的数据追加到Vector 中
            }
            return true;
        } catch (Exception e) { //如果出错返回false
            return false;
        }
    }

    public static void pretreatment(Vector indata) {   //数据预处理,将原始数据中的每一个属性值提取出来存放到Vector  data中
        int i = 0;
        String t;
        while (i < indata.size()) {//取出indata中的每一行值
            int[] tem = new int[4];
            t = indata.get(i);
            String[] sourceStrArray = t.split(““ 5);//使用字符串分割函数提取出各属性值
            switch (sourceStrArray[0]) {
                case “R“: {
                    for (int j = 1; j < 5; j++) {
                        tem[j - 1] = Integer.parseInt(sourceStrArray[j]);
                    }
                    catagory_R.add(tem);
                    break;
                }
                case “L“: {
                    for (int j = 1; j < 5; j++) {
                        tem[j - 1] = Integer.parseInt(sourceStrArray[j]);
                    }
                    catagory_L.add(tem);
                    break;
                }
                case “B“: {
                    for (int j = 1; j < 5; j++) {
                        tem[j - 1] = Integer.parseInt(sourceStrArray[j]);
                    }
                    catagory_B.add(tem);
                    break;
                }
            }
            i++;
        }

    }

    public static double bayes(int[] x Vector catagory) {
        double[] ai_y = new double[4];
        int[] sum_ai = new int[4];
        for (int i = 0; i < 4; i++) {

            for (int j = 0; j < catagory.size(); j++) {
                if (x[i] == catagory.get(j)[i])
                    sum_ai[i]++;
            }
        }
        for (int i = 0; i < 4; i++) {
            ai_y[i] = (double) sum_ai[i] / (double) catagory.size();
        }
        return ai_y[0] * ai_y[1] * ai_y[2] * ai_y[3];
    }

    public static void main(String[] args) {


        loadData(“balance-scale.data“);
        pretreatment(indata);
        double p_yR = (double) catagory_R.size() / (double) (indata.size());//表示概率p(R)
        double p_y

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-11-25 19:51  贝叶斯分类\
     目录           0  2016-12-10 12:10  贝叶斯分类\.idea\
     文件         686  2016-11-22 14:52  贝叶斯分类\.idea\compiler.xml
     目录           0  2016-11-25 19:51  贝叶斯分类\.idea\copyright\
     文件          76  2016-11-22 14:52  贝叶斯分类\.idea\copyright\profiles_settings.xml
     文件          97  2016-11-22 14:52  贝叶斯分类\.idea\description.html
     文件         529  2016-11-22 14:52  贝叶斯分类\.idea\misc.xml
     文件         277  2016-11-22 14:53  贝叶斯分类\.idea\modules.xml
     文件          91  2016-11-22 14:52  贝叶斯分类\.idea\project-template.xml
     文件       39217  2016-12-07 13:52  贝叶斯分类\.idea\workspace.xml
     文件        6249  2016-11-22 15:05  贝叶斯分类\balance-scale.data
     目录           0  2016-11-22 20:01  贝叶斯分类\out\
     目录           0  2016-11-22 20:01  贝叶斯分类\out\production\
     目录           0  2016-11-22 20:01  贝叶斯分类\out\production\贝叶斯分类\
     目录           0  2016-11-22 20:01  贝叶斯分类\out\production\贝叶斯分类\com\
     目录           0  2016-11-25 19:51  贝叶斯分类\out\production\贝叶斯分类\com\company\
     文件        6249  2016-11-22 20:19  贝叶斯分类\out\production\贝叶斯分类\com\company\balance-scale.data
     文件        4739  2016-11-23 16:23  贝叶斯分类\out\production\贝叶斯分类\com\company\Bayes.class
     文件         451  2016-11-23 16:23  贝叶斯分类\out\production\贝叶斯分类\com\company\Jmy.class
     目录           0  2016-11-22 20:01  贝叶斯分类\src\
     目录           0  2016-11-22 20:01  贝叶斯分类\src\com\
     目录           0  2016-12-07 13:49  贝叶斯分类\src\com\company\
     文件        6249  2016-11-22 15:05  贝叶斯分类\src\com\company\balance-scale.data
     文件        5530  2016-11-23 16:23  贝叶斯分类\src\com\company\Bayes.java
     文件         437  2016-11-22 14:52  贝叶斯分类\贝叶斯分类.iml

评论

共有 条评论