2019年7月30日 星期二

[VISTA]20190730


VISTA資料處理:

目的:
1.    熟悉用Python整理資料
2.    Python使用machine learning的分析模型預測中風患者的預後的效果,並與傳統的迴歸分析的效能做比較

目前遇到的困難及處理:
1.    missing data刪掉,第一次刪除missing data時,還是會有一些資料空白,python沒有將它刪掉。後來發現是原始資料內有空格,然後我對coding不清楚,以為空格的打法是保持空白,所以要把空白取代時,中間要有一個空格” “

2.    處理完上述過程之後,發現有些資料沒有subdomain的資料,所以在過濾missing data後,留下來的資料剩0列可使用。
3.    篩檢需要留下的變項,目前打算把subdomain刪掉,只保留NIHSSsubdomain,目前正在進行中。
4.    20190730 VISTA資料庫連接不上

[文獻閱讀]Machine Learning-Based Model for Prediction of Outcomes in Acute Stroke.


研究目的:
比較不同分析模型預測急性中風患者long-term outcome之間的差異。本研究使用machine learning (ML)的運算模型,希望能提升急性中風患者long-term outcome的預測能力。

方法:
本研究使用了ML的三種運算法和傳統的分析方式,比較使用ML是否會比傳統的預測模型更具效能
研究者使用了2種不同的預測模型:(1) 納入所有資料的變項;(2) 僅納入包含在ASTRAL量表中的6個變項。此兩種預測模型利用ML的三種運算法:(1) deep neural network; (2)random forest; (3)regressionASTRAL量表的預測模型做比較。

結果:
結果顯示在納入所有變項的預測模型中,deep neural network的分析法比其他兩種運算法及ASTRAL量表能更有效預測急性中風患者得預後。由ROC curve的圖形來看,ROC曲線下的面積,deep neural networkASTRAL量表更具預測能力,並達到統計顯著[0.888 for deep neural network; 0.839 for ASTRAL scale]。然而,random forestregression的運算法雖然比ASTRAL量表有較好的預測能力,但未達統計顯著[0.857 for random forest; 0.849 for logistic regression]
在納入6個變項的預測模型中,3ML運算法雖然都比ASTRAL量表有稍好的預測能力,但皆未達統計顯著[0.853 for deep neural network; 0.828 for random forest; 0.846 for logistic regression]

討論:
本研究發現使用ML運算法相較ASTRAL量表,更能提升預測急性中風患者long-term outcome的預測能力。三種運算法中,deep neural network的預測效能在納入所有變項及6ASTRAL的變項時,顯著比其他兩種運算法及ASTRAL更好。所以deep neural network可能是最適合來預測long-term outcome的運算法。

限制:
本研究為單一機構收案,所使用的變項是該機構所使用的評估變項。研究結果可能受到不同機構使用不同評估變項影響。





2019年7月23日 星期二

[AI]20190723彙整


Artificial Intelligence, machine learning, neural network, deep learning概念釐清:

Artificial Intelligence, machine learning, neural network, deep learning之間的關係




machine learning
機器學習(machine learning)是指設計及分析讓電腦可自動學習之演算法。其原理為模仿人類學習的方式,透過使用資料或輸入以往的經驗,取出特徵或經過計算處理後得到有意義的技巧,以最佳化電腦程式的運算效能,並提升其表現。
(此寫法我覺得仍太過籠統,可能要再說明的更具體)


But what is a Neural Network? | Deep learning
Summary:
This video talks about neural network, including what the structure consists of and how the neural network works. It used visualized images to make the neural network easy to understand, just like a human’s brain. The process of recognizing things is built on a neural network. For example, if we want to recognize a digit, we should break one picture into many parts. Each part will be seen as a neuron, and all the neurons will make up the first layer. The hidden layers involve complicated processes and in the end the layers will output the correct digit in the end.

Neural network breaks the complicated process into many layers to recognize part of the digit (or function), then combines all the part into a digit (or outcome) to give us a final answer. The methodology uses a regression model: each neuron has a weight and bias to control the outcome within a range. Then if we input an image (or data), the network will recognize and give us an answer.







2019年7月22日 星期一

[python學習]20190624-20190717學習紀錄

目前缺乏實際練習:(挑之後較常用的部分)
1. list, dictionary邏輯及其函數之應用
2. for/while迴圈
3. try/except
4. numpy的應用