今回はランダムフォレストを試してみる。 Pythonでの実装コード SASでの実装コード SASでお試し(対象データ、データ加工) SASでお試し(モデル作成) SASでお試し(モデル評価) 参考 Pythonでの実装コード Pythonでは非常に簡単に実装できる。 from sklea…
前回 hpgenselect プロシジャで罰則付きロジスティック回帰を実行してみた。 【SAS】hpgenselect プロシジャ_罰則付きロジスティック回帰(LASSO) - こちにぃるの日記 目的変数が連続値の時のLASSO回帰をやってなかったのでまとめてみる。 ついでにElasticN…
特徴量選択でSTEPWISE法などのほか、LASSO(L1正則化)を視野に入れる人もいる(だろう)。 LASSOについては以前 Python の記事で触れた。 cochineal19.hatenablog.com 今回は「SASで使ったみたい」&「ロジスティック回帰で使ってみたい」という視点でまと…
地味に困ったのでメモ(きっと他にも困る人がいるはず)。 自分のPCからアップロード Work領域にインポート 参考 自分のPCからアップロード SASオンデマンド上で [サーバーファイルとフォルダ] > [odaws##-XXXX##] > [ファイル(ホーム)] を選択。 ツール…
GBDT(Gradient Boosting Decision Tree)を使ってみたかったのでメモ。 KaggleのTitanicデータを予測してみる。 前処理 XGBoost (eXtreme Gradient Boosting) LightGBM CatBoost 参考 scikit-learnに準拠した model.fit(データ) で記載。 あまりパラメタいじ…
Kaggleに登録してみたので備忘録を。 初心者ということもあり、まずは王道のタイタニックデータを使った分析をしてみた。 データの前処理 データはKaggle内にあり、TrainとTestにあらかじめ分けられている。 生存有無を予測する2値分類問題であり有名なデー…
executeの使い方の備忘録。 やりたいこと: 動的に生成したコードを実行したい。 call execute(コード) でいける。 data _null_; call execute("data a; a=1; run;"); run; マクロ変数を投入することもできる。 %let CODE1 = ' proc sql; create table a ( c…
文字列に関する記事はあまりなさそうだったので備忘録がてら。 個人メモで解説しないです。 やりたいこと: * 文字型 ⇒ 複数行を1行にまとめる。 * 数値型 ⇒ 累積値を計算する。 サンプルデータ data a; input a $ b; cards; AA 1 BB 2 CC 3 ; run; コード d…
k-means法(k-平均法)についてメモ。 【目次】 k-means法 k-means++法 エルボー法によるクラスタ数の推定 Pythonコード 参考 前回取り上げた「k-近傍法」とは異なるので注意。 【機械学習_Python】k-近傍法(k-NN) - こちにぃるの日記 k-means法 データの…
k-近傍法(k-nearest neighbor algorithm、k-NN)についてメモ。 同じような名前の「k-means法」とは異なるので注意。 【目次】 k-近傍法とは ミンコフスキー距離 pythonコード 参考 k-近傍法とは 特徴空間において、距離が近い既知データから未知データのク…
主成分分析(Principal Component Analysis、PCA)についてのメモ 【目次】 主成分分析とは 主成分軸の作り方 分散の最大化(ラグランジュの未定乗数法) 第1主成分を作る場合 第p主成分を作る場合 次元削減の基準 寄与率と累積寄与率 カイザー基準とスク…
SVM(サポートベクターマシーン)についてのメモ。 SVM(サポートベクターマシーン)とは 線形SVM(ハードマージン法とソフトマージン法) 主問題と双対問題 Pythonによる実行 非線形SVM(カーネルトリック) Pythonによる実行 Wineデータで実行 参考 SVM(…
決定木(Decision Tree)とランダムフォレスト(Random Forest)について。 【目次】 決定木(Decision Tree) 情報利得(Information gain) 不純度(Impurity Criterion) 分析例 決定木の応用 ランダムフォレスト(Random Forest) ランダムフォレストの…
Ridge回帰、Lasso回帰、Elastic Net回帰についてのメモ。 本記事は「機械学習」における回帰分析という視点が強め。 Ridge回帰等と区別するため、最小二乗法による一般的な回帰分析を最小二乗回帰分析(ordinary least square:OLS)と呼ぶ。 本記事では Pyt…
対応のあるデータを線でつないで増減をみるグラフを作りたくなったのでメモ。 サンプルデータ library(tidyverse) ads <- data.frame(id=(1:5) ,x=c(9,6,3,8,7) ,y=c(5,1,2,4,1) ,z=c(8,7,9,5,2)) ads2 <- data.frame() for (i in (2:4)) { ads2 <- union_al…
Pandas の pd.merge と pd.concat の使い方の備忘録。 merge 2つのデータフレームを結合する。横結合(join)に対応。 SQLで使われる内部結合(inner join)、外部結合(outer join)、左結合(left join)、右結合(right join)と同じ機能を一通り扱える。…
PandasのDataFrame型とSeries型の備忘録 サンプルデータ import pandas as pd group1 = [4, 9, 10, 11, 12, 13, 13, 15, 18, 18, 20] group2 = [16, 16, 17, 19, 19, 22, 22, 23, 25] DataFrame型 DataFrame(データフレーム)型は表(テーブル)形式の2次…
クラスを試してみる。 クラス、インスタンス、インヘリタンスの定義 Pythonでの実装(クラス定義、インスタンス化) Pythonでの実装(継承) クラス、インスタンス、インヘリタンスの定義 ・クラス(class): 設計図と言われる。このクラスから実体(インス…
関数は「 def 関数名 (引数名) 」とし、インデントを下げてコードを書く。 戻り値は「return 変数名」と書く。なくても良い。 def def_test1(i, j): x = i + j return x 実行は関数名(引数名)と書く。 val1 = def_test1(1, 2) print(val1) -- out -- 3 も…
Pythonの基礎。 条件分岐やループ処理について。 if 文 if 文は他の言語と大体同じ。ただし、else if は elif と書く。 a=1 if a==0: print(0) elif a==1: print(1) else: print(2) while 文 while 文は特記なし。よくある形。 cnt=3 while cnt != 0: print(…
Pythonを初めるきっかけができたので、ちょくちょくPythonについて取り上げたい。 リスト型と辞書型について 元々SAS、SQL、VBAを中心に使っていたので、Rを使い始めたときにリスト型の概念に初めて触れた。 配列(Array)っぽいと言えばその通りなので特に…
生存時間解析ではハザード関数、生存関数など色々な関数が出てくるので関係性をメモ。頭の整理。 離散値の場合 確率密度関数 死亡関数 生存関数 ハザード関数 累積ハザード関数 (イメージ図) * 縦軸が確率密度関数 f (T)、横軸が時間 T * 死亡関数 F(t)=…
ログランク検定、重み付きログランク検定たちについてのメモ。 【目次】 計算式等 ノート サンプルデータ まずは手計算してみる SASでの実行 Rでの実行 プログラムコード 参考 前回のKaplan-meier 法に続く内容。 cochineal19.hatenablog.com 計算式等 先に…
カプランマイヤー法(Kaplan-meier method)についてのメモ。 【目次】 計算式等 ノート 打ち切りとは サンプルデータ 手計算してみる Rでの実行 SASでの実行 プログラムコード 参考 累積生存率とその信頼区間について記載する。 信頼区間はRで扱えるPlain(…
最近SQL Serverの記事を挙げられていなかったので、 題目通り、任意の分類ごとに1つだけフラグを立てるやり方。 例えば、次のようなデータにID毎に1つだけフラグを立てたいとか、ID・日付毎に1つだけフラグを立てたいというような場面。 用途として、立て…
ARIMA、SARIMA、SARIMAXモデルをRで試してみる。 【目次】 用意したデータ データ加工 観測値の時系列の描画 単位根の検定 ARIMAモデルの実行 SARIMAモデルの実行 SARIMAXモデルの実行 モデルの比較 おわりに 参考 用意したデータ 今回、横浜市の月別火災発…
本記事は、AR、MA、ARMA、ARIMA、SARIMA、ARIMAXモデル等の特徴について。 【目次】 計算式等 ノート 参考 計算式等 < 前提> ■ 弱定常性(Weakly stationary) 時系列の期待値、分散および自己共分散が常に一定である状態(時点 t および k に依存しない状…
自己相関、自己共分散について、視覚的に分かるようにメモ。 【目次】 計算式 ノート 参考 自己相関、「自己」とつくので、ちょっと分かりづらい。 計算式 ■ 自己共分散 ■ 自己相関 ※t=時期、s=ラグ ノート サンプルデータで動きを見てみる。 Rで準備したデ…
Rでのデータ分割の方法のメモ。 データ準備 rsample で分割 dplyr で分割 参考 データ準備 1500行の何の意味もないデータ。 ads <- data.frame(id=seq(1:1500)) rsample で分割 library(rsample) ads.sp1 <- rsample::initial_split(ads, prop=3/4) adtrain1 …
共分散分析についてめも。 【目次】 帰無仮説、対立仮設 計算式等 計算例 プログラムコード 交互作用項での平行の評価 参考 共分散分析は、分散分析と重回帰分析を組み合わせた手法と言われる。分散分析では説明変数に集団などカテゴリー変数(要因)のみを…