こけこっこー

がんばる

開発期間見積もりとバッファ

アプリ開発のプロジェクトマネージャーとして、開発者が開発期間の見積もりの際にバッファをきちんと取らなかったためにスケジュールが遅延するという状況を最近見たので、我々は開発期間見積もりの際に何を考慮していて、何をバッファに詰め込んでいるのか…

React Native ElementsのButtonコンポーネントで何故か隙間ができるときの対処法

React Native ElementsのButtonコンポーネントを使っていたところ謎のpadding的な隙間ができて困りました。 こんな感じです。 nextButtonWrapper: { flex: 1, height: '70%', backgroundColor: '#CCC3BA', }, nextButton: { height: '100%', width: '100%', …

React Nativeでstyleのオブジェクトを統合する

ReactNativeではstyleをStyleSheet.create()して作ります。 以下のようなstyleを作りました。 const styles = StyleSheet.create({ styleA: { width: '30%', height: '42%', }, styleB: { backgroundColor: '#CCC3BA', } }); styleA と styleB を統合させた…

ReactNativeでstyleをグローバルに設定する

アプリ全体のText Componentのcolorを一括指定してしまいたい、というときのやり方。 公式で推奨されているやり方によると、アプリ専用のコンポーネントを作成してそれを使いなさい、ということみたいです。 facebook.github.io 具体的には /custom/Text.js …

ReactNativeElementsでButtonにiconを使う

ReactNativeElementsでボタンにアイコンを入れようと思ったらアイコンが表示されなくて焦りました。 自分が入れたバージョンとドキュメントのバージョンをよく見比べましょう。(戒め) 今回私が入れたバージョンは0.19系でした。 つまりドキュメントはこち…

ImageDataGenerator flow_from_directoryを使い、名前付きでクラスごとのデータを読み込む

kerasの ImageDataGenerator を使って画像を読み込み、kaggleの画像分類問題をやっていたのですが、 validationデータで良い正答率が出るにもかかわらず、testデータにするとうまく分類できない状況に陥りました。 原因は flow_from_directory で classes を…

jsのcaseには中括弧をつけるべき

React Reduxで開発してて、Reducerに以下のようなコードを書いてたら case B の hoge で怒られました。 switch (type) { case A: const { hoge } = state; return { ...state, hoge: hoge + 1, }; case B: const { hoge } = state; return { ...state, hoge:…

urllibでurlから画像ダウンロードするときにタイムアウトを設定する

pythonで画像ダウンロードする方法を調べたら出てきたのが urllib.request.urlretrieve を使う方法だったので、これを使っていました。 課題 しかしながら、たくさんの画像を一度にダウンロードしようとしたときにurllib.request.urlretrieve を使う方法だと…

ReactNativeにFlowを導入しようとして詰まった

静的方解析ツールFlowをReactNativeのプロジェクトに導入しようと思ったらいろいろ詰まったんですが、 解決は驚くほどあっけなかったです。 解決策 ReactNativeは標準でFlowに対応しているので、プロジェクト立ち上げ時に作成される .flowconfig の中に書い…

matplotlibについて学ぶ

seabornがいいらしいとか書いておきながらですが、kaggleのkernelや世の中の機械学習の記事を 読んでいるとmatplotlibの使い方も知っておかないとなーと思いました。 以下がmatplotlibの公式サイトで、親切にチュートリアルや詳細なドキュメントが用意されて…

seabornでヒートマップを表示してみる

ぱっと見ただけではよくわからないデータの表も、ヒートマップを使えば意味のあるものに見えてくるということもあるでしょう。 seabornにはヒートマップを描くための関数が用意されているので、それを使ってみたいと思います。 seabornには機械学習のチュー…

matplotlibのラッパー、seabornで美しくデータ可視化ができるっぽい

seabornというmatplotlibのラッパーライブラリを使用すると、matplotlibよりも簡単に美しいグラフ描画ができるみたいです。 seaborn: statistical data visualization — seaborn 0.8.1 documentation import seaborn as sns matplotlibと一緒にimportしてや…

pandasでグルーピングとカウント

グルーピングはデータの集計に使えます。 例えばtitanicのtraining dataのDataFrameをtrain_dfとして以下のように書くと train_df.groupby('Sex').max() こんな結果が得られます。 train_dfに対してSexでグルーピングしてそれぞれの特徴量の最大値を取得した…

titanic生存予測のkernelがすごい

kaggleのtitanic生存予測のkernelのトップにあった。 まとめ方が見やすく、とにかく執念を感じる! EDA To Prediction(DieTanic) | Kaggle それぞれの特徴量のタイプ分けから、どうやって解析すべきか、から どのアルゴリズムを使って予測するのが良さそうか…

pandasで相関係数を求める

どの特徴量がターゲットを求めるのに重要なのかを知るための指標として、 相関係数を使うのは、データ解析の第一歩に良さそうです。 まずは以下の記事に相関係数についてわかりやすまとめてあるので見てみましょう。 blog.apar.jp x軸とy軸にそれぞれ異なる…

pandasでデータフレームから特徴量とターゲットの配列を切り出す

機械学習アルゴリズムにデータを入れていざ学習させよう、というときには当たり前ですが データフレームの形式のままでは無理です。 データフレームから特徴量とターゲット(正解)を配列として切り出してやる必要があります。 まずpandas.DataFrame で作られ…

pandasでデータフレームに対しパラメータを追加・削除する

データフレームに列や行を追加したかったら concat() 、削除したかったら drop を使います。 やってみましょう。 まず適当なデータフレームを作っておきます。 import pandas as pd import numpy as np df = pd.DataFrame(np.array([['a','b','c'], ['a','b'…

pandasでワンホットエンコーディング

機械学習ではしばしばデータの解析を容易にするためにワンホットエンコーディングという手法を使います。 例えば「性別」というパラメータがあればその中には「男性」や「女性」が含まれますが、 この「性別」を分解して「男性」「女性」をそれぞれ一つのパ…

pandasでデータの欠損を確認する

機械学習において収集したデータを使おうと思ったとき、ほとんどのケースでデータに欠損があります。 そんなときは、もっともらしい値で穴埋めをするなどの対処が必要ですが、 それより前にどのパラメータのデータがどれだけ欠損しているかを確認したいです…

pandasを使ってcsvの先頭を表形式でjupyterに出力する

kaggleの問題に取り組んでいるときなど、jupyter上でぱぱっとcsvの中身を見れると便利。 例えばタイタニックの生存予測のトレーニングデータcsvの中身を見たいとき Titanic: Machine Learning from Disaster | Kaggle 以下のようなコードで表形式に表示でき…

カンバンでプライベートタスク管理

先日友人がプライベートでカンバンアプリを使っているのを見て、面白そうだと思い 自分も便乗してみました。 使用しているアプリ Trelloを使っています。 trello.com 会社ではJootoというサービスを使っているのですが、プライベートでは違うものを と思いTr…

Youtubeを使って学習効率を上げる

友人と一緒にYoutubeで動画配信やってます。 テック系の話題中心で、気になった技術を紹介しています。 www.youtube.com モチベーション 最新の技術に触れたい 自分の活動を公開したい 最新の技術に触れたい IT業界の技術は日々ものすごい速さで更新されてい…

ポモドーロ・テクニックをアレンジしてみた

最近流行ってるみたいなので自分なりのポモドーロ・テクニックの記事を書いてみました。 ポモドーロ・テクニックとは 25分間のタイマーで集中してタスクをこなし、5分間休憩をすることで、オンオフを切り替える仕事術。 4回タイマーを回したら15分の休憩を挟…