Skip to content

Instantly share code, notes, and snippets.

View komiya-atsushi's full-sized avatar
🏠
Working from home

KOMIYA Atsushi komiya-atsushi

🏠
Working from home
View GitHub Profile
@komiya-atsushi
komiya-atsushi / HtmlCharsetDetector.java
Created April 6, 2018 07:27
HTML の meta 要素から文字エンコーディングを抽出するやつ。
package me.k11i.hoge;
import java.util.Arrays;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import me.k11i.hoge.HtmlCharsetDetector.FiniteStateMachine.State;
import static me.k11i.hoge.HtmlCharsetDetector.FiniteStateMachine.State.*;
@komiya-atsushi
komiya-atsushi / BinaryLogLossEvaluator.scala
Created December 12, 2015 07:42
評価メトリクスとして Logarithmic loss (LogLoss) を利用する Evaluator の実装。
package org.apache.spark.ml.evaluation
import org.apache.commons.math3.util.FastMath
import org.apache.spark.ml.param.ParamMap
import org.apache.spark.ml.param.shared.{HasLabelCol, HasProbabilityCol}
import org.apache.spark.ml.util.{Identifiable, SchemaUtils}
import org.apache.spark.mllib.linalg.{Vector, VectorUDT}
import org.apache.spark.sql.types.DoubleType
import org.apache.spark.sql.{DataFrame, Row}
@komiya-atsushi
komiya-atsushi / ModifiedClopperPearsonInterval.java
Created January 18, 2015 15:55
割合が 0% or 100% でも信頼区間を計算できるようにした Clopper-Pearson の実装
package org.apache.commons.math3.stat.interval;
import org.apache.commons.math3.distribution.FDistribution;
import org.apache.commons.math3.exception.NotPositiveException;
import org.apache.commons.math3.exception.NotStrictlyPositiveException;
import org.apache.commons.math3.exception.NumberIsTooLargeException;
import org.apache.commons.math3.exception.OutOfRangeException;
/**
* numberOfSuccesses が 0 もしくは numberOfTrials と等しい場合でも、
@komiya-atsushi
komiya-atsushi / binomial_proportion_demo.py
Created January 18, 2015 15:53
statsmodels を使って二項比率の信頼区間を求めるデモプログラム。
# Requirements:
# pip install statsmodel pandas numpy scipy
from statsmodels.stats import proportion as prop
def demo(num_clicks, num_impressions):
alpha = 0.05
methods = [
@komiya-atsushi
komiya-atsushi / BinomialProportionDemo.java
Created January 18, 2015 15:53
commons-math3 を使って二項比率の信頼区間を求めるデモプログラム。
import org.apache.commons.math3.stat.interval.*;
import java.util.Arrays;
import java.util.List;
/**
* commons-math3 を使って二項比率の信頼区間を求めるデモプログラム。
*/
public class BinomialProportionDemo {
@komiya-atsushi
komiya-atsushi / Java8PasswordHashDemo.java
Created September 19, 2014 19:09
Java 8 でのパスワードハッシュのデモプログラム。
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import java.util.Base64;
/**
* パスワードハッシュのデモ。
*/
@komiya-atsushi
komiya-atsushi / PropertiesWithUtf8.java
Created September 14, 2014 18:05
UTF-8 エンコーディングされたプロパティファイルを Properties クラスで取り扱う。
import java.io.*;
import java.util.Properties;
/**
* UTF-8 エンコーディングされたプロパティファイルを {@link Properties} クラスで取り扱う。
*/
public class PropertiesWithUtf8 {
static Properties loadUtf8Properties(String resourceName) throws IOException {
try (InputStream is = PropertiesWithUtf8.class.getResourceAsStream(resourceName);
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
@komiya-atsushi
komiya-atsushi / ResourceBundleWithUtf8.java
Created September 14, 2014 18:04
UTF-8 エンコーディングされたプロパティファイルを ResourceBundle クラスで取り扱う。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Locale;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
/**
* UTF-8 エンコーディングされたプロパティファイルを {@link ResourceBundle} クラスで取り扱う。
@komiya-atsushi
komiya-atsushi / Base64Performance.java
Created September 10, 2014 16:18
Java 8 で導入された Base64 エンコーディング/デコーディングの機能と Commons Codec のそれとの性能比較をするプログラム。
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import java.util.Base64;
import java.util.function.Function;
/**
* Java 8 と Commons Codec の Base64 エンコーディング・デコーディング性能を比較します。
*
* 比較対象の Commons Codec と、パフォーマンス測定結果の統計処理のために Commons Math3 が必要になります。
*/
@komiya-atsushi
komiya-atsushi / Base64Demo.java
Created August 31, 2014 17:51
Java 8 より導入された java.util.Base64 の利用デモ。
import java.io.PrintStream;
import java.util.Base64;
/**
* Java 8 より導入された java.util.Base64 の利用デモ。
*/
public class Base64Demo {
private static final PrintStream o = System.out;
public static void main(String[] args) {