Giter VIP home page Giter VIP logo

osic-fibrosis's Introduction

osic-fibrosis

A repository for kaggle OSIC fibrosis challange - kaggle page

The challenge

The challenge is to predict patient FVC progressien given the patient's details (as in train.csv) with an initial FVC measurement and CT scans.

How it work's

Every patient FVS is fitted with an exponential decaying function so: FVC(t) = Ie^-kt, where I is the initial FVC, t is time and k is the fitted expnential coefficiant.
The model is a squeezenet mockup. It tries to predict the exponent coefficiant from the patiants CT scans.
It does so by predicting k for every scan and then averaging over k's. The predict.exponent_generator does just that. It itarates through the dataset images partitioned per patient. It then predicts k per image, average k's perpatient and yeilds the exponent function and patient ID.

Generating the exponent function

The exponent functions for training are generated by taking a training patient FVC history and fitting a linear function:
ln(FVC) = -kt

Before fitting the funcion, outlier FVC measurements were removed by cook's distance method. Then k coefficiant is yielded and an exponenet function is built with the initial FVC measurement.

Cloud Dataset

The CT scans and ground truth k per scan was uploaded to a GCS bucket - gs://osic_fibrosis after converting into TF Record format.

Genrating prediction confidence

In order to generate preidction confidence, A quantile regression model was fitted to the table data with the CNN model prediction as an ensamble.
The quantile regression model essentially tries to predict 25 and 75 precentile predictions and then yeild their difference as the confidence in model predictions.

Images size

The model was trained on 256x256 image size for expirementing efficiency.
It was then elarged by addeing 2 Conv layers performed on 512x512 pics berfore the prior trained model to downsample the image but still gain some signal from the high resolution pixels.

Installation

The conda yml environment files can be found both for cpu and gpu at the environments folder.

osic-fibrosis's People

Contributors

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