記事一覧
機械学習(ランダムフォレスト編)
必要なモジュールを読み込んでいきます
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlineimport seaborn as sns
Sicket-Learnからパッケージを読み込んでいます
from sklearn.model_selection import train
機械学習(総集編caret編)
今日はcaretパッケージの分類を使っていきます。
methodにサポートベクターマシン(svmRadial)、
ニューラルネットワーク(nnet)、k近傍法(knn)、
単純ベイズ(nb)、ランダムフォレスト(rf)、
決定木(rpart)などを指定できる便利なパッケージです。
irisを読み込み、教師データと検証用に分割します
data(iris)n<-seq(1,nrow(iris),by
機械学習(単純ベイズ編)
必要なモジュールを読み込んでいきます
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlineimport seaborn as sns
Sicket-Learnからパッケージを読み込んでいます
from sklearn.model_selection import train
機械学習(k近傍法編)
パッケージの読み込み
library(kernlab)library(class)
データセットにirisを取り込み、教師データと検証用データに分割します
data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1)
k近傍法のモデルを構築します
knn.result<-knn
機械学習(サポートベクターマシン編)
パッケージの読み込みます
library(e1071)library(kernlab)
データirisの読み込み、データを教師データと評価データの2つに分割します
data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1)
サポートベクターマシーンの構成します
svm.mod
機械学習(ランダムフォレスト編)
パッケージの読み込み
library(randomForest)
irisを読み込んで、学習用と検証用に分割します
data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1)
ランダムフォレストで分類モデルを作成します
rf.model<-randomForest(Speci
機械学習(決定木編)
パッケージの読み込みます
library(rpart)library(rpart.plot)
irisのデータを読み込んで、学習用と検証用に分割します
data(iris)n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<-iris[-n,]set.seed(1)
CARTで分類モデルを作成します
cart.model<-rpa
機械学習(ニューラルネットワーク編)
ニューラルネットワークモデルで解析
3層パーセプトロンの構築していきます
パッケージの読み込みます
library(e1071)library(kernlab)library(nnet)
データセットにirisを取り込みます
data(iris)
データを教師データと解析用に分割します
n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.t
機械学習(単純ベイズ編)
R言語での単純ベイズモデルでの機械学習
irisのデータを用いて分類の問題を復習します。
まずパッケージの読み込みです
library(e1071)library(kernlab)
irisデータの読み込みます
data(iris)
教師データと評価データに分けます(半分づつ)
n<-seq(1,nrow(iris),by=2)iris.train<-iris[n,]iris.test<
2群間の時系列データの解析
友人に2群間の時系列データの解析、検定を尋ねられたので
改めて勉強してみたので、健忘録として。
まず、練習用のデータを作成していきます。
症例は30例ずつの2群で、計測は3時点、処置の有無で層別化します。
id = c(1:60)result0 = rnorm(30,40,10)result1 = rnorm(30,25,7)result2 = rnorm(30,20,5)result3 =
分散分析の悩みどころ
引き続いて分散分析です。
前回はbrmsパッケージで交互作用ありで解析しましたが、交互作用なしで検討する考えもあります。多重共線性を排除するためです。他に今回は当てはまりませんが、中心化したり、標準化することもあります。ToothGrowthは因子×因子なので中心化も標準化も意味がなさそうです。
交互作用なしで解析すると、OJ1mgと2mgで有意差が出てしまいます。おそらく不適切な解析と考えま
brmsパッケージで共分散分析をベイズ推定してみた。
library(brms)library(rstan)
用量doseを因子型に変換します。
data=ToothGrowthdata=transform(data,dose=as.factor(dose))
ベイズの線形回帰パッケージbrmsを使用します。
交互作用を考えるモデルを組みます。
brms.fit=brm(formula= len ~ supp*dose,family=gaus
共分散分析を重回帰解析で
また同じToothGrowthのデータで考えていきます。
今回は2元配置分散分析を線形回帰(重回帰解析)で検討していきます。
まず、doseは数値型のままです。
lm.fit=lm(len ~ supp * dose , data=ToothGrowth)summary(lm.fit)
Call:
lm(formula = len ~ supp * dose)
Residuals:
Min 1