【初心者向け】基礎&実践プログラミング

初心者がつまづきやすいところ、最短で実力が身につく方法をお伝えします。

Python

【Python】画像の類似度の計算(Dice係数)

目的 NIFTI形式の画像からPythonを使ってDice係数を計算する。 準備 必要となるパッケージは以下の通りです。必要に応じてインストールしてください。 pip3 install nibabel pip3 install numpy pip3 install glob pip3 install pandas フォルダ構造 フォル…

【Python】縦断データの可視化(プロット・箱ひげ図・バイオリン図・信頼区間・ヒストグラム)

目的 Pythonを用いて、縦断データ(beforeとafter)の可視化 主にやることは、 プロット (dot plot) 箱ひげ図 (box plot) バイオリン図 (violin plot) 信頼区間 (CI bar) ヒストグラム (histogram) 最終的には、このような図を作成する。 準備 open-visualizat…

Pythonを使った株価の自動収集

はじめに 最近、株価を予想するAIを作って欲しいということで、全くいい精度がでる期待もなかったが作ることにした。 過去にkerasやtensorflowを使ってAIを作ったことがあったが、株価を集めることはしたことがなかったのでやり方をまとめておく。 ビックデ…

【PyTorch】サンプル⑧ 〜 複雑なモデルの構築方法 〜

目的 このチュートリアルに至るまでは、ニューラルネットワークモデルの定義を積み木を積み重ねるように単純なシーケンスtorch.nn.Sequentialで構築していました。 このtorch.nn.Sequentialを用いた方法は、モデルの定義が簡単である反面、ネットワーク構造…

【PyTorch】サンプル⑦ 〜 optim パッケージ 〜

目的 PyTorch: optimを参考にPyTorchのoptimパッケージを使って最適化関数(optimizer)を定義する。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>」の行がPythonで…

【PyTorch】サンプル⑥ 〜 nn パッケージ 〜

目的 PyTorch: nnを参考にPyTorchのnnパッケージを扱う。 nnパッケージの便利さを感じる。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>」の行がPythonで実行する…

【Python】DICOMからPNGやCSVに変換

はじめに AIを作成するために、MRI画像をDICOM形式からPNG形式あるいはCSV形式に変換する必要があった。 件数は1700件ほど。 有名なものとしてはDICOM Cenverterがあるが、大量のDICOMをInputすると固まってしまう。 (199.99$で買わなきゃいけないのか??) …

【Python】MAEとRMSEの計算方法

目的 Pythonを使って平均絶対誤差(Mean Absolute Error:MAE)と二乗平均平方根誤差(Root Mean Squared Error:RMSE)を計算する。 準備 CSVファイルに2変数のデータを書き込む。 1列目はLabel、2列目はAIの予測値(Predicted)。 今回はdata.csvとして保存する。 …

【機械学習】ランダムフォレスト (Random Forest)で疾患分類

(Credit: Decision tree icon Royalty Free Vector Image - VectorStock ) 目的 自分のメモ用。 ランダムフォレスト (Random Forest)を使って疾患Aと疾患Bを分ける。 プログラミング言語はPythonで、ライブラリはscikit-learnを用いる。 入力したバイオマー…

【PyTorch】サンプル⑤ 〜Static Graphs(静的グラフ)〜

目的 Deep Learning(ディープラーニング)で、よく使われるTensorFlowを使って計算グラフの設計からニューラルネットワークの学習をする。 PyTorchが採用している動的グラフを理解するために、静的グラフの代表であるTensorFlowに触れる。 前準備 PyTorchのイ…

【PyTorch】サンプル④ 〜Defining New autograd Functions(自動微分関数の定義)〜

目的 PyTorchのチュートリアルPyTorch: Defining New autograd Functionsを参考にPyTorchテンソル(tensor)と自動微分(autograd)を使って、損失(loss)や重み(weight)の計算をする。 前回の、【PyTorch】サンプル③ 〜TENSORS AND AUTOGRAD(テンソルと自動微分…

【PyTorch】サンプル③ 〜TENSORS AND AUTOGRAD(テンソルと自動微分)〜

目的 PyTorchのチュートリアルPyTorch: Tensors and autogradを参考にPyTorchテンソル(tensor)と自動微分(autograd)を使って、損失(loss)や重み(weight)の計算をする。 これまでは、PyTorchに実装されている自動微分機能を使わずにニューラルネットワークの…

【PyTorch】サンプル② 〜TENSOR (テンソル) 〜

目的 PyTorchのチュートリアルPyTorch: Tensorsを参考にPyTorch Tensor(テンソル)を使って、損失(loss)や重み(weight)の計算をする。 PyTorchの特徴の一つである、テンソルとNumPyの違いを手を動かしながら感じる。 NumPyを用いた例は、こちらから。 前準備 …

【PyTorch】サンプル① 〜NUMPY〜

目的 PyTorchのチュートリアルWarm-up: numpyを参考にNumpyを使って、損失(loss)や重み(weight)の計算をする。 PyTorchの特徴の一つである、テンソルとNumpyの違いを理解するための前準備。 前準備 PyTorchのインストールはこちらから。 初めて、Google Cola…

【Python】NIFITIからPNGへ変換 (COVID-19[新型コロナウイルス] CT例)

目的 NIFTIからPNGへ変換 NIfTI-Image-Converterを使用する。 COVID-19(新型コロナウイルス)患者のCTデータを例に、NIFTIからPNGへと変換していく。 準備 パッケージのインストール shutilは、404のアクセスエラーが生じるが、ほっておいてもOK(2020/04/20)…

【Python GUI】Tkinterを使ったDICOMのコントラスト調節とBMP変換

目的 コード保存。中身は汚い。 DICOM画像を任意のコントラストに調節しBMPに保存。 コントラスト調節の式が怪しいかも。 コード import cv2 import numpy as np import glob import os import shutil import os, tkinter, tkinter.filedialog, tkinter.mess…

【Deep Learning】SONY neural network consoleをCUIから実行

コード内容 コード保存のため投稿。 コードは汚い。 SONYが開発した、neural network console(NNC)をCUIから実行。SONYが提供しているNNablaライブラリを使用する。 準備 NNCのProject File(*.sdcproj) Neural networkのArchitecture(*.nntxt) 学習したparam…

【Python】if文を使ったファイル操作

問題 フォルダが100個あり、その中に2つの画像が入っているべきである。 しかし、フォルダによっては1つしかない場合がある。 目的 1つしか画像が入っていないフォルダのみを”mada”フォルダに集める。 コード import os, glob import shutil if not os.path.…

【LINE bot】おいら、だじゃレンジャー!

はじめに 前回のLINE botの記事でオウムがえしのLINE botを作成したぞ! ちびっこのみんなに好かれたくお題を与えるとそのお題にまつわる だじゃれを返すLINE botを作成することにしたんだ LINE botの登録、作成、Herokuへのデプロイ等は 前回のLINE botの記…

【Python】ランダムフォレストで疾患分類〜LDAも交えて〜

はじめに 過去の記事でランダムフォレストを使って疾患分類をしたが、そのアップデート版。 今回は、データの標準化およびLiner Discriminant Analysis(LDA)を追加した。 また、結果のまとめがみれるようにClassification ReportとConfusion Matrixが出力さ…

LINE botの作成 〜作成・デプロイ・起動まで〜

はじめに LINE botを作りたくなったので練習がてら、オウム返しのLINE botに挑戦。 その時のメモ、日記。 環境 Ubuntu 18.04.3 LTS Python 3.6.8 Flask==1.1.1 line-bot-sdk==1.15.0 Heroku 必要なパッケージのインストール $ pip3 install flask $ pip3 ins…

PythonによるDiffusion MRIのbvec fileの極性変更

はじめに diffusion MRIで重要なMPGのGradient Tableであるbvecの極性がMRI装置と解析ソフトウェアで互換性がない。 被験者は200人以上いるため、一人ひとり手直しするのは困難である。 そこで、Pythonでbvec fileの中の極性を任意に変更できるスクリプトを…

【PyTorch】チュートリアル(日本語版 )④ 〜TRAINING A CLASSIFIER(画像分類)〜

目的 PyTorchのチュートリアルTraining a Classifierを参考にPyTorchで画像分類について学ぶ。 具体的には、 ニューラルネットワークの構築 lossの計算 ネットワークの重みの更新 について学習する。 前準備 PyTorchのインストールはこちらから。 初めて、Go…

【PyTorch】チュートリアル(日本語版 )③ 〜NEURAL NETWORKS(ニューラルネットワーク)〜

目的 PyTorchのチュートリアルNeural Networksを参考にPyTorchでニューラルネットワークの構築と学習について学ぶ。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>…

【PyTorch】チュートリアル(日本語版 )② 〜AUTOGRAD〜

目的 PyTorchのチュートリアルAutograd: Automatic Differentiationを参考にPyTorchでAUTOGRADの扱いになれること。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>…

【PyTorch】チュートリアル(日本語版 )① 〜テンソル〜

目的 PyTorchのチュートリアル「What is PyTorch?」を参考にPyTorchで特有のテンソルの扱いになれること。 前準備 PyTorchのインストールはこちらから。 初めて、Google Colaboratoryを使いたい方は、こちらをご覧ください。 コマンドラインの「>>>」の行がP…

【Flask & Bootstrap】じゃらんレビューを解析 〜じゃらん Analyzer〜

概要 じゃらんレビューを解析するWebアプリ。 Webアプリの実装は、FlaskとBootstrapを使用。 じゃらん AnalyzerのWebページはこちら。 実行手順 じゃらんから任意の宿を検索し、RequestsとBeautifulSoup4ライブラリでレビュー情報を抽出する。 抽出した情報…

【Flask & Bootstrap】歌詞の内容をWord Cloudで可視化 〜Lyrics Word Cloud〜

概要 歌詞の内容を、Word Cloudで可視化するWebアプリ。 Webアプリの実装は、FlaskとBootstrapを使用。 Lyrics Word CloudのWebページはこちら。 実行手順 うたまっぷから任意の曲を検索し、RequestsとBeautifulSoup4ライブラリで歌詞を抽出する。 Word Clou…

【PyTorch】インストール方法

目的 PyTorchをインストールする。 PC環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" $ python3 -V Python 3.6.9 PyTorchのインストール方法 PyTorchのホームペー…

Google Colaboratoryの使い方

Google Colaboratoryとは Google Colaboratoryは、Googleが提供するJupyter notebook環境です。 プログラムの実行は、クラウドでされるので自身が使用しているPCのスペックや環境を気にする必要がありません。 特に、ハイスペックなGPUを無料で使用すること…