GithubHelp home page GithubHelp logo

fae's Introduction

FAE

Feature Analysis Explorer (FAE) can help researchers develop a classification model with comparison among different methods. This project was inspired on the Radiomics, and provides a GUI to help analyze the feature matrix, including feature matrix pre-process, model development, and results visualization.

If you publish any work which uses this package, I will appreciate that you could give the following link (https://github.com/salan668/FAE)

Welcome any issues and PR.

Python Contributions welcome License

Release

The Windows 64 version was release here https://drive.google.com/open?id=1htts7YsfaxKtN1NeDcNU4iksXfjr_XyK (Alternative link is: https://pan.baidu.com/s/1ha66TajeoT6dA-a4Qdt8fA)

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Pre-install

The below modules must be installed first to make the FAE work.

- imbalanced-learn
- matplotlib (seaborn)
- numpy
- pandas
- pdfdocument(https://github.com/salan668/pdfdocument.git)
- pymrmr
- PyQt5
- PyQtGraph
- pyradiomics
- reportlab
- scikit-learn
- scipy

Installing

Just clone it by typing in:

git clone https://github.com/salan668/FAE.git

If you would like to use FAE in any project, please add the path in your system envirement. A trick method is to create a .pth file in the site-packages folder (\Lib\site-packages) and add a path that point to the root folder of the FAE.

Architecture of Project

  • DataContainer
    • DataContainer. The structure to contain the data, which also includes methods like saving/loading.
    • DataSeparate. Including functions to separate data into training part and testing part.
    • DataBalance, The class to deal with data imbalance. Now we provided Under-sampling, Over-sampling, and SMOTE method.
  • Feature Analysis
    • Normalization. To Normalize the data
    • DimensionReduction. To reduce the dimension, including PCA.
    • Classifier. The classifier to develop the model, including SVM, AE, Random Forests, LDA.
    • CrossValidation. The CV model to estimate the model. Return the metrics
    • FeatureSelector. The class to select features, which including 1) remove non-useful features, e.g. the VolumnNum; 2) different method to select features, like ANOVA, RFE, Relief.
    • FeturePipeline. The class to estimate the model with different feature selected method and classifier.
  • Image2Feature
    • RadiomicsFeatureExtractor. This class help extract features from image and ROI with batch process. This class should be more "smart" in the future.
  • Visulization.
    • DrawDoubleLine. This function helps draw doulbe-y plot. e.g. plot accuracy and error against the number of iterations.
    • DrawROCList. This function helps draw different ROC curves. AUC will be calculated automaticly and labeled on the legend.
    • FeatureRelationship. This function helps draw the distribution of the values of different features. I can only show at most 3 features in one figure.
    • FeatureSort. This function helps draw the features and the weights of them on the classifiction model.
    • PlotMetricVsFeatureNumber. This function helps draw the AUC / Accuracy / other metrics against the number of chosen features. This can help find the adaptive number of the features.
  • Report
    • To Generate the report with PDF format.

Document

TODO

Author

License

This project is licensed under the GPL 3.0 License - see the LICENSE.md file for details

Acknowledge

  • Contributor:
  • Demo data support.
    • Yu-dong Zhang, Xu Yan.

fae's People

Contributors

amberjiest avatar dy-doing avatar eggiverse avatar littlelight0 avatar salan668 avatar yg8868 avatar yuruiqi avatar zchengxiu avatar zhangjingcode avatar zhukequan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.