Skip to content

Instantly share code, notes, and snippets.

View hoxo-m's full-sized avatar
🌅
旅人算

hoxo_m hoxo-m

🌅
旅人算
View GitHub Profile
@hoxo-m
hoxo-m / Scala
Created May 7, 2014 08:03
【メモ】Selenium で新しく開いたウインドウにスイッチする ref: http://qiita.com/hoxo_m/items/a84c208a374f0ce1c2fd
val currentWindowHandle = driver.getWindowHandle()
val windowHandles = driver.getWindowHandles()
windowHandles.remove(currentWindowHandle)
driver.switchTo().window(windowHandles.iterator().next())
@hoxo-m
hoxo-m / file0.r
Created July 3, 2014 01:13
個人的な SOM のやり方メモ ref: http://qiita.com/hoxo_m/items/def85c5711f77ea7b3f6
library(kohonen)
out.som <- som(scale(data), grid=somgrid(3,3,"rect"), rlen=1000)
plot(out.som, type="changes")
plot(out.som, type="counts")
if(ncol(out.som$codes) > 14) {
out.som$codes <- out.som$codes[, sort(names(rev(sort(apply(out.som$codes, 2, var)))[1:14]))]
}
plot(out.som, type="code", palette.name=rainbow)
model{
for(i in 1:N)
y[i] ~ normal(alpha + beta * x[i], s);
s ~ inv_gamma(0.001, 0.001);
}
@hoxo-m
hoxo-m / gist:0001a3e0732413086c7e
Created July 13, 2015 14:30
R のソースから関数を抽出
list_funcs <- function(file) {
Filter(function(expr) {
expr <- as.character(expr)
length(expr) == 3 && substring(expr[3], 1, 9) == "function("
}, as.list(parse(file)))
}
@hoxo-m
hoxo-m / negative_binomial_distribution1.R
Last active November 6, 2015 22:58
可視化で理解する「負の二項分布」 http://d.hatena.ne.jp/hoxo_m/20151012/p1
library(animation)
library(ggplot2)
library(gridExtra)
xlim <- xlim(-0.5, 20.5)
saveGIF({
g_nbiom <- qplot(x=NULL, y=NULL) +
geom_bar(stat="identity") + xlim + ylim(0, 1) +
theme(axis.text.y=element_blank()) + xlab("負の二項分布") + ylab("")
@hoxo-m
hoxo-m / use_miniCRAN.R
Created January 16, 2017 09:53
miniCRAN を使って CRAN からパッケージをダウンロード
library(miniCRAN)
dir.create("miniCRAN")
packages <- c("dplyr", "ggplot2", "tidyr", "mclust", "Matching", "knitr",
"devtools", "roxygen2", "data.table", "rmarkdown", "shiny",
"mice", "formattable", "deal", "DMwR", "discretization", "loo",
"ROCR", "DiagrammeR", "rJava", "testthat", "VennDiagram", "venneuler",
"glmnet", "bit64", "lubridate", "Nippon", "useful", "densratio",
"gridExtra", "ggfortify", "partykit", "tree", "rstan", "loo", "shinystan",
@hoxo-m
hoxo-m / prophet_shf
Created July 24, 2017 05:45
prophet SHF
prophet_shf <- function(model, periods, freq = "d", k = 3) {
N <- nrow(model$history)
if (periods %% 2 == 1) periods <- periods + 1
preserve <- (k + 1) * periods / 2
n_history <- N - preserve - 1
if (n_history < periods * 2) warning("History is too short.")
result <- data.frame()
while (n_history < N - periods) {
data_hist <- head(model$history, n_history)
m <- prophet(data_hist, growth = model$growth,
insert_data_frame <- function(df, df_added, col)
{
index <- which(col == names(df))
data.frame(append(df, list(df_added = df_added), index))[, -index]
}
@hoxo-m
hoxo-m / AdaBoostM1.R
Created March 25, 2019 09:57
AdaBoost のアニメーション
f <- function(X) {
X <- as.matrix(X)
limit <- qchisq(0.5, df = ncol(X))
apply(X, 1, function(row) {
if(sum(row^2) > limit) 1 else -1
})
}
D <- 2
@hoxo-m
hoxo-m / AdaBoostM1_accuracy.R
Created April 4, 2019 15:41
AdaBoost は訓練データの正答率が100%になった後も学習を続けるとテストデータの正答率が上がる (Hastie et al. 2008)
f <- function(X) {
X <- as.matrix(X)
limit <- qchisq(0.5, df = ncol(X))
apply(X, 1, function(row) {
if(sum(row^2) > limit) 1 else -1
})
}
D <- 2
M <- 2200