statepipyの日記

興味のある分野(統計、疫学、機械学習、品質管理、手料理)と、PCスキルの維持を目的に書き続けます!

ライブラリーとモジュールのインポート

ライブラリーとモジュールのインポート・import ライブラリ名 ・import ライブラリ名 as 省略名 ・import ライブラリ名.モジュール名 ・from ライブラリ名 import モジュール名 ・import ライブラリ名.モジュール名 as 省略名 ・from ライブラリ名 import モ…

やってみたら以外に簡単だった「時間依存性共変量」を考慮した生存時間解析

医療現場では、入院時の情報や評価データがその後の転帰(アウトカム)とどのように関連しているかを調べることは非常に多い。そのような場合、入院時の情報、観察期間とアウトカムを用いて『生存時間解析(いわゆる「Cox回帰」』を行うことが一般的であるが、…

分かりやすいです! jojoshin.hatenablog.com

Pythonでの「クロス表」の書き方

Aが縦列、Bが横列(実行結果はDataFrame形式) #合計値を出力しない pd.crosstab(X['A'], X['B']) #合計値を出力 pd.crosstab(X['A'], X['B'], margins=True)

Permutation Importance

qiita.com

object型の基本統計量

print(df.describe(include=["O"])) #Oは「オー」

ビニング(binning)

連続変数を、ビン(bin)と呼ばれる離散値に置き換える作業。

NumPy配列ndarrayを回転する

note.nkmk.me

無名関数(lambda)

df_sex = df["sex"].apply(lambda x: 1 if x=="Male" else 0) applyを通じて渡されたGenderをxとして、xがMaleなら1、Maleではないなら0を返すという意味。

相関係数のヒートマップ表示

import pandas as pd import matplotlib.pyplot as plt import seaborn as sns plt.figure(figsize=(10,8)) sns.heatmap(df.corr(), vmin=-1.0, vmax=1.0, annot=True, cmap='coolwarm', linewidths=0.1) * sns.heatmap() →seabornライブラリのheatmap関数を…

目的変数のクラスごとのデータ抽出

目的変数(質的変数)のクラス毎のデータ抽出 #データフレームの再帰代入 df[df["質的変数名"] == 0] #query関数を使う df.query("質的変数名 == 0") #連続変数を質的変数のカテゴリ(0/1)の場合に分ける df1 = df.query("質的変数==0")["連続変数"] df2 = df.q…

# データフレームA (名義尺度) df1 = df[変数名] # データフレームB(連続尺度のみ残す) df2 = df.drop(df1, axis=1) # ←axis=1 は列の削除 #両者のを横(列)で横結合する df_both = pd.concat([df1, df2], axis=1) * 項目を絞る場合 → df1["●●●●●"]

重複している行の検索

#重複部分の個数の確認(2つ目以降には「True」が出力される) print(df.duplicated().sum()) #重複部分のサンプルの表示 print(df[df.duplicated()])

ML Ops と Model Ops の違い

www.ashisuto.co.jp

ライブラリーにインポート

# numpyのインポート import numpy as np # matplotlibのインポート(大きいため、必要なモジュールのみをインポート) from matplotlib import pyplot as plt

関数定義(def)の基本構文

関数の定義(def)は以下のようにして行う。 def abcde(): #targetに"study Python"という文字列を代入 target = "study Python" # 戻り値を指定 return target # 関数abcdeを呼び出し、結果をtaskという変数に代入 task = abcde() # taskを出力 print(task)

KPI(重要業績評価指標)とKGI(重要目標達成指標)の違いについて

KPIは知っていましたが、KGIは知りませんでした。 www.fc-mado.com

リスト内包表記 と 通常の表記

# リスト内包表記を用いない場合(通常) score = [40,50,60,70,80, 90] low_score = [] for test in score: if test < 50: low_score.append(test) # リスト内包表記を用いた場合 score = [40,50,60,70,80, 90] low_score = [test for test in score if tes…

辞書型におけるfor文

辞書型に対するfor文では、取得予定のデータに対して .keys(), .values(), .items() の何れかを用います。 > |python|# keyに対して for i in 辞書.keys(): 処理#valueに対して for i in 辞書.values(): 処理#key, value両方に対して for i, j in 辞書.items…

ループを用いたインデックスの取得(enumerate関数)

# リストの定義 test_score = [75,88,93,81,71] # インデクスと要素を「enumerate関数」を用いて出力 for index, score in enumerate(score): result = 'student No.' + str(index)+' : '+str(test_score) print(result) # 出力 student No.0 : 75 student N…

アニメーションGIF画像の作り方

最近、パワポで、イラストが動く動画?をよく見かけるので作成法を探していたら見つけることができました。 動画の説明はMac OSですが、下記の動画が参考になりました(私はWindowsユーザ)。 www.youtube.comしかし、Office365でなければ、PowerPoint 2019で…

# 文字列型(str) pet = "cat" print(train_color) # 論理型(bool) cute = True # ←Trueは文字でなく、TrueかFalseかの0/1をとる値 print(cute)

replace関数は、リストに用いることはできない

インデックスを指定することで、リスト内の要素を新しい値に変更可能である。 # x = [1, 3, 5] x[1] = 2 print(x) # 出力 [1, 2, 3, 5] しかし、文字列の置換(replace関数)はリストには使えない。

リストの結合

# append関数 (insert関数でも可能) example= [10, 20, 30, 40] example.append([50, 60, 70]) print(example) print(len(example)) # 出力 (2次元配列リスト) [10, 20, 30, 40, [50, 60, 70]] 7 # 1次元配列リストとしたい場合① example = [10, 20, 30, 40]…

リストの操作

■リスト名 [開始 : 終了] インデックスが開始以上、終了未満(以下でない!)の値を取出す。■要素名 in リスト名 ある要素がリストの値として含まれているかどうかを判断。 含まれている場合 → True 含まれていない → False■リスト名.index(要素名) 引数に指…

文字変数を数値に変換

# sexがm,fになっているので、関数(change_sex)を定義してmを1,fを0に変換 def change_sex(val): if val == "m": return 1 elif val == "f": return 0 # カラム関数を適用する場合はapply関数を用いる mydata["sex"] = mydata["sex"].apply(change_sex)

ハイパーパラメータとは

ja.wikipedia.org

予測精度の改善(特に、特徴量の選択について)

予測精度の改善するには、大きく分けて以下の3つが知られている。 (1)データ量を増やす (2)アルゴリズムのチューニング (3)特徴量の増減(3)には、以下のような方法がある。 ①フィルター法:相関係数等によって、関連のある変数を投入する。 ②ラ…

回帰分析

# 必須インポート import numpy as np # MSEを求めるために必要(MMSEは直接計算できない) from sklearn.metrics import mean_squared_error as MSE # 説明変数を指定 select_columns = ["変数A","変数B","変数C","変数D","変数E"] # ダミー変数化(k個のカ…

UCLA の Generalized linear Regression Models セミナーに参加しました。

日本時間の朝5時からでしたら、参加してみました。 ↓ は講師の先生が使用したスライドです。 また参加します!stats.idre.ucla.edu