Giter Site home page Giter Site 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)

A short tutorial video may help: https://www.bilibili.com/video/BV1yt4y1S79S/ (Chinese Version)

If FAE could help in your research, please refer to

Y. Song, J. Zhang, Y. Zhang, Y. Hou, X. Yan, Y. Wang, M. Zhou, Y. Yao, G. Yang. FeAture Explorer (FAE): A tool for developing and comparing radiomics models. PLoS One. 2020. DOI: https://doi.org/10.1371/journal.pone.0237587

Getting Started

Pre-install

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

- imbalanced-learn=0.6.2
- matplotlib=3.2.0
- numpy=1.18.1
- pandas=1.0.1
- pdfdocument=3.3
- pillow=7.0.0
- PyQt5=5.14.1
- PyQtGraph=0.10.0
- pyradiomics=3.0
- reportlab=3.5.34
- scikit-learn=0.22.2
- scipy=1.4.1
- seaborn=0.10.0
- statsmodels=0.11.1

Installing

Just clone it by typing in:

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

The .ui file has to be transfered to the .py file by pyuic manually. For example, GUI/HomePage.ui should be tranfered to GUI/HomePage.py file.

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.
  • Feature Analysis
    • DataBalance, Sample the cases to make the binary-labels balance.
    • Normalization. Normalize the data to avoid the scale effect of different features.
    • DimensionReduction. Reduce the feature dimension, including PCA.
    • Classifier. Map the features onto the labels.
    • CrossValidation. Estimate model by using cross-validation on the training data set.
    • FeatureSelector. Select the sub-features from the feature matrix.
    • Pipelines. 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 double-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

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

Stargazers

snaildmy 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.