• 基于GFS进行威斯康星州乳腺癌(诊断)数据分析(Matlab代码实现)


     📝个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

     开发一个准确的系统来分析乳腺癌图像数据可以让医生在评估患者时获得额外的信心,并可用于扫描诊所数据库中的所有过去扫描,以了解是否有任何患者处于危险之中。模糊逻辑系统非常适合构建知识库和规则库,这些知识库和规则库可以准确地近似人类专家知识,例如常规诊断患者乳腺癌的医生。遗传算法通过使用数据的子集来学习模糊逻辑系统的最佳隶属函数和规则库,从而提高模糊逻辑系统的能力,特别是当给定系统的代表性数据集时。这两种技术的结合可用于开发高度准确的癌症诊断近似器。

    📚2 运行结果

     

     

    部分代码:

    clear all
    clc

    load wbcds.mat 
    load train-valds.mat

    % Setting up the Genetic Algorithm:

    Prob.goal = @funcfit;  % Goal of the algorithm 
    Prob.vari = 30;        % Number of genes 

    P = 25;                % Number of chromosomes 
    G = Prob.vari;         % Number of genes 
    MG = 100;              % Max number of generations
    Pc = .9;              % Probablity of crossover
    Pm = 0.3;              % Probablity of mutation
    Er = 0.04;             % Probabilty of elitism
    visualize = 1;         % Plot the best solution over time

    [MostFit] = GA(P,G,MG,Pc,Pm,Er,Prob.goal,visualize,trainds)

    % Display the results:

    disp('The best chromosome found: ')
    MostFit.Gene
    disp('The best fitness value: ')
    MostFit.Fit
    disp('Shortest Distance')
    MostFit.Gene

    clc
    clf 
    clear all

    load wbcdnoid.mat
    load dsinfo.mat

    K=5; % Number of clusters

    % Normalize data

    normwbcd = normalize(wbcd);

    % Use fcm function to find K clusters in this data set:

    [center,U,objFcn] = fcm(normwbcd,K)

    % Plot convergence:

    figure(1)
    plot(objFcn)

    % Find which data belong to which cluster:

    maxU = max(U);
    index1 = find(U(1, :) == maxU);
    index2 = find(U(2, :) == maxU);
    index3 = find(U(3, :) == maxU);
    index4 = find(U(4, :) == maxU);
    index5 = find(U(5, :) == maxU);

    % Sort clusters into their own matrices:

    id1 = zeros(length(index1),31);

    for k = 1:length(index1)
        id1(k,:) = wbcd(index1(k),:);
    end

    id2 = zeros(length(index2),31);

    for k = 1:length(index2)
        id2(k,:) = wbcd(index2(k),:);
    end

    id3 = zeros(length(index3),31);

    for k = 1:length(index3)
        id3(k,:) = wbcd(index3(k),:);
    end

    id4 = zeros(length(index4),31);

    for k = 1:length(index4)
        id4(k,:) = wbcd(index4(k),:);
    end

    id5 = zeros(length(index5),31);

    for k = 1:length(index5)
        id5(k,:) = wbcd(index5(k),:);
    end

    % Find min / max / range / median for clusters:

    id1info = [min(id1); max(id1); max(id1)-min(id1); median(id1)];
    id1mp = (median(id1) - wbcdmin)./wbcrange;

    id2info = [min(id2); max(id2); max(id2)-min(id2); median(id2)];
    id2mp = (median(id2) - wbcdmin)./wbcrange;

    id3info = [min(id3); max(id3); max(id3)-min(id3); median(id3)];
    id3mp = (median(id3) - wbcdmin)./wbcrange;

    id4info = [min(id4); max(id4); max(id4)-min(id4); median(id4)];
    id4mp = (median(id4) - wbcdmin)./wbcrange;

    id5info = [min(id5); max(id5); max(id5)-min(id5); median(id5)];
    id5mp = (median(id5) - wbcdmin)./wbcrange;
     

    🎉3 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]Allison Murphy (2022). Breast Cancer Wisconsin (Diagnostic) Data Analysis Using GFS

    🌈4 Matlab代码实现

  • 相关阅读:
    基于b/s架构搭建一个支持多路摄像头的实时处理系统(2) ---- 使用yolo v5 模型基于GPU 多进程处理视频流
    通过FNN算法进行特征组合的商品推荐详细教程 有代码+数据
    韩顺平--多人在线通信系统
    电视盒子/投影仪是怎么看电视的?安利两款软件教程教会你
    12 Python正则表达式
    《进程地址空间》
    Python自动导入缺失的库
    第七章:最新版零基础学习 PYTHON 教程—Python 列表(第八节 -在 Python 中获取列表作为用户的输入)
    GB/T 26538-2011 烧结保温砖和保温砌块检测
    [java/初学者/GUI编程]GUI界面设计——界面组件类
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127845938