Skip to content

Instantly share code, notes, and snippets.

Kenta Murata mrkn

Block or report user

Report or block mrkn

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:549e82c47f5ffe407dc1fce29b657be2
compiling arrow-nmatrix.c
arrow-nmatrix.c: In function ‘garrow_type_to_nmatrix_dtype’:
arrow-nmatrix.c:57:8: error: ‘GARROW_TYPE_BOOL’ undeclared (first use in this function)
case GARROW_TYPE_BOOL:
^
arrow-nmatrix.c:57:8: note: each undeclared identifier is reported only once for each function it appears in
arrow-nmatrix.c:34:3: warning: enumeration value ‘GARROW_TYPE_BOOLEAN’ not handled in switch [-Wswitch-enum]
switch (arrow_type) {
^
arrow-nmatrix.c: In function ‘nmatrix_dtype_to_garrow_data_type’:
View flu-roxonin.csv
time temp headache
0 38.5 1
20 38.4 1
25 38.3 1
30 38.1 1
35 37.9 1
40 37.6 1
45 37.6 1
50 37.3 1
55 37.1 0
View same_all_bench.rb
require 'benchmark'
LEN = 10000
TRY = 1000
s0 = 'x' * 100
s1 = 'x' * 99 + 'y'
cases = {
shuffle: Array.new(LEN) {|i| i }.shuffle,
View rubydatatokyoworkshop20171026.md

RubyData Tokyo Workshop 2017.10.26

RubyKaigi 2017 で実施した RubyData Workshop を東京で再演します。 Ruby でのデータサイエンスを実体験できるチャンスです。 みなさんのご参加をお待ちしております。

場所と日時

日時: 10月26日 (木) 14:00〜16:30 会場: 株式会社 Speee (東京都港区六本木4-1-4黒崎ビル5Fセミナールーム)

View gist:8cc05a2602caed0dce7617dbdebdd394
# Ruby とデータサイエンスの関係のこれまで
- その昔 (Ruby 1.6 くらいの頃)、Ruby には NArray という numpy 的な数値配列ライブラリがあって、線形代数演算をするときはこれを使っていた。
- NArray の開発が inactive になってしばらくして、NArray に影響されて NMatrix というライブラリを John Woods さんが作った。
- John は SciRuby を立ち上げて、Ruby の科学技術計算ライブラリ群を増やそうと地道な活動をしはじめた
- SciRuby は当初は勢いがあった (?) が次第に静かになっていった。GSoC では毎年プロジェクトを実施しているが、毎年出るアイデアが長期的視野を持っておらず、継続性もないため、ライブラリの出来は悪く、お世辞にも実用的とは言えないものだらけになっていました。
- そうこうしているうちに、Ruby はデータサイエンスの盛り上がりから除け者状態になっていった
- 2015 年頃、NArray を作っていた田中さんが復活し、新しく Ruby Numo というプロジェクトを立ち上げ新しい NArray を出した
- 2016 年、私は「このままではいつまでたっても Ruby をデータサイエンスで実用的に使えない」と危機感を抱き、PyCall の開発を開始した
- 2017 年、私は PyCall の最初の安定版をリリースし、Python を下働きさせることで Ruby をデータサイエンスで使える最低限の状況を作った
View apache-arrow-glib.log
mrkn-mbp15-late2016:homebrew-red-data-tools mrkn$ brew install apache-arrow-glib.rb
==> Downloading https://www.apache.org/dyn/closer.cgi?path=arrow/arrow-0.7.0/apache-arrow-0.7.0.tar.gz
Already downloaded: /Users/mrkn/Library/Caches/Homebrew/apache-arrow-glib-0.7.0.tar.gz
"/opt/brew/lib/pkgconfig:/opt/brew/opt/jemalloc/lib/pkgconfig:/opt/brew/opt/apache-arrow/lib/pkgconfig:/opt/brew/opt/glib/lib/pkgconfig:/opt/brew/opt/gobject-introspection/lib/pkgconfig"
==> ./configure --prefix=/opt/brew/Cellar/apache-arrow-glib/0.7.0 CC=clang
Last 15 lines from /Users/mrkn/Library/Logs/Homebrew/apache-arrow-glib/01.configure:
checking for ld used by clang++... /Applications/Xcode_8.3.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode_8.3.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the clang++ linker (/Applications/Xcode_8.3.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) s
View pycall_keras_ssd300.rb
require 'pycall'
SSD_KERAS_DIR = File.expand_path('../../ssd_keras', __FILE__)
PyCall.import_module('sys').path.append(SSD_KERAS_DIR)
PICS_DIR = File.join(SSD_KERAS_DIR, 'pics')
np = PyCall.import_module('numpy')
imagenet_utils = PyCall.import_module('keras.applications.imagenet_utils')
image = PyCall.import_module('keras.preprocessing.image')
View gist:38d8c282251c7c0ae1ac53f062b508ec
[2] pry(main)> Pandas = PyCall.import_module('pandas')
/Users/mrkn/src/github.com/mrkn/pycall-next/lib/pycall/init.rb:20: warning: instance variable @handle not initialized
/Users/mrkn/src/github.com/mrkn/pycall-next/lib/pycall/init.rb:26: warning: loading in progress, circular require considered harmful - /Users/mrkn/src/github.com/mrkn/pycall-next/lib/pycall.bundle
from bin/console:10:in `<main>'
from /Users/mrkn/.rbenv/versions/2.4.1-o0/lib/ruby/gems/2.4.0/gems/pry-byebug-3.4.2/lib/pry-byebug/pry_ext.rb:11:in `start_with_pry_byebug'
from /Users/mrkn/.rbenv/versions/2.4.1-o0/lib/ruby/gems/2.4.0/gems/pry-0.10.4/lib/pry/pry_class.rb:169:in `start'
from /Users/mrkn/.rbenv/versions/2.4.1-o0/lib/ruby/gems/2.4.0/gems/pry-0.10.4/lib/pry/repl.rb:15:in `start'
from /Users/mrkn/.rbenv/versions/2.4.1-o0/lib/ruby/gems/2.4.0/gems/pry-0.10.4/lib/pry/repl.rb:38:in `start'
from /Users/mrkn/.rbenv/versions/2.4.1-o0/lib/ruby/gems/2.4.0/gems/pry-0.10.4/lib/pry/input_lock.rb
View pyplot.rb
require 'pycall/import'
include PyCall::Import
pyimport 'matplotlib.pyplot', as: 'plt'
plt[:plot].([1, 2, 3, 4, 5], 5.times.map { rand })
plt[:show].()
View bitmap.rb
class Vocabulary
def initialize
@words = []
@index = {}
end
def <<(word)
unless @index[word]
@index[word] = @words.length
@words << word
You can’t perform that action at this time.