すえー blog

学んだ情報をOutPutする場所です。

Macでシンボリックリンクを作成する方法

背景

  • 最近sshして作業する機会が増えました(今までリモートデスクトップだった。。。。)
  • そこでsshする際に user@192.168.199.100 みたいな感じで毎回ログインしてたら、「configファイルで管理したら?」と教えてもらったのがきっかけでした。

環境

方法

  • ln -s [リンク貼る場所] [リンク貼りたい場所]
  • 例: ln -s $(pwd)/ssh_config ~/.ssh/conf.d/test
    ※ $(pwd)これは今いるディレクトリのパスをコマンドに引き渡すことができるやつらしい。

movをwindowsで見れるようにする方法

背景

  • iphoneとかで撮影した動画をダウンロードして「〜.MOV」の拡張子ままwindows環境とかで再生できない現象があって、調べると「〜.mp4」の拡張子に変換すれば良いらしいのでメモ

環境

方法

  • ffmpegを使用
  • brew install ffmpeg でイントール
  • ffmpeg -i [変換対象の動画] [変換後の動画]
  • ffmpeg -i hoge.MOV hoge.mov で実行
    ※変換後のファイル名は別になんでも大丈夫

pip install -e .で「TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'」エラーが出た時

現象

setup.pyに記載されているライブラリをインストールしようとした時に起きた
pip install -e .

対処法

インストール中にネットワークの接続状況が悪いと起こるらしい。
なので、めげずになんどもトライすれば良い。
それかライブラリのインストールを分けた方が良い。

参考

kinformation.wjg.jp

Javaをやってた俺がpythonでちょっと混乱したこと

自分のメモも兼ねて残しておく。

内容

それはpythonでクラスを定義して、メソッドを作成した時に起きた。
まずはpythonのクラスの定義

class hoge:

次はメソッドの定義

class hoge:
    def fuga(self):
        ・・・・・・・

なんかselfが出てきた。
javaで言う、this的な扱いだと解釈した。
上記のメソッドを呼び出そうとするとselfの引数を入れろと怒られる。。。
selfはいらないんだよなーと思いながら、調べると@classmethod@staticmethodがあるらしい。

対処法

こうすれば良い。

@staticmethod
def a_method():
    ・・・・・・・

メソッドからクラス内のメソッドを呼び出す場合はこうすれば良い。
clsにクラスのインスタンスがいるので呼び出せる。これもjavaで言うthisがないのでthisの代わりだと解釈している。
調べるとインスタンス変数にはアクセスできないらしい。

@classmethod
def b_method(cls):
    cls.a_method()

これがスマートなのかわからないが、不要な引数は受け取る必要はないと考えているので一旦、この考え方で進んでみようと思う。

2017年振り返り

人生を大きく左右する決断をした気がする

なぜかというと今年は2回も転職したからです。
まず、4年間働いた前々職の会社を退職して、8ヶ月働いた前職の会社を退職しました。
その後、12月からちゅらデータ株式会社に転職しました!
全く経験したことのない、データサイエンティストの仕事をさせてもらってます。転職をチャンスをくれた隊長には感謝しかありません。

仕事の振り返り

トータル振り返るとエンジニアとしてすごく良い経験が出来たと思う。
まずは前々職で下流工程やリーダーが出来たこと。
前職では上流工程やスマホアプリの大枠の仕組みが知れたこと。
最後に今はデータサイエンティストとして、新しい事に挑戦できている事が良かったと思う。
ホントにフルスタックでないと厳しいので日々勉強が必要だと改めて感じでいます。
後は統計学や数式を読む力か。。
やる事は沢山ありますが、今はすごく充実しています。
今月は怒涛の1ヶ月でしたが、みんなでなんとか乗り切れたので嬉しい(^ ^)
会社のみんなにすごく助けられました!!ありがとうございますm( )m

2018年の目標

  • 早く一人前になる
    • 期待されている役目を一人で遂行する
  • outputを増やしていく
    • ブログ
    • 発表
  • 統計検定3級取る
  • 数式に強くなる

マンガでわかる統計学メモ①

はじめに

今、以下を勉強中なのでついでにメモをブログに残そうと思ってます。

マンガでわかる統計学

マンガでわかる統計学

1章

  • カテゴリーデータ
    • 測れないデータ
      • 例:出身県、天気
  • 数量データ
    • 測れるデータ
      • 例:体重、身長

2章

  •  相対度数 = \frac{各階級に属するデータの個数}{全てのデータの個数}
  • 階級値
    • ある数値の範囲を区切った値を指す
  •  不偏標準偏差 = \frac{(個々のデータ - 平均)^{2}を足したもの}{データの個数}
  •  標本標準偏差 = \frac{(個々のデータ - 平均)^{2}を足したもの}{データの個数 - 1}
    • 最小値が「0」でありデータの「散らばりの程度」が大きいほど大きな値になる。

3章

  • 単純集計表
    • カテゴリーデータを表にした状態のこと。

4章

  •  \frac{(個々のデータ)-(平均)}{標準偏差} = 基準値
    • データの価値を検討しやすくするデータ変換。
    • どのような単位の変数であろうともその基準値の平均は必ず「0」、標準偏差は必ず「1」である。
  •  偏差値 = 基準値 × 10 + 50
    • どのような単位の変数であろうともその偏差値の平均は必ず「50」、標準偏差は必ず「10」である。

最後に

やっぱり読むだけではなくてこうやってoutputした方がより理解が深まる気がする。。。
残りは次回書こう!

Matplotlibの日本語表示で少しハマったのでメモ

はじめに

今、この本を勉強していてタイトルの通り少しハマったのでメモしておきます。

PythonユーザのためのJupyter[実践]入門

PythonユーザのためのJupyter[実践]入門

環境

前提条件

  • 「Source Han Code JP」のフォントはインストール済みです。
    ※以下からダウンロードしてます。フォント自体のインストールはotfのファイルをダブルクリックするだけでOK。 github.com

ハマったこと

本では以下の3つのパターンで日本語表示ができると記載されていました。
①コード内で「FontProperties」のインスタンスを生成して設定。
②「rcParams」を使用して一括で設定。
③「matplotlibrc」の設定ファイルに対して設定。

上記の③の際に設定ファイルの中身を修正して、「fontList.py3k.cache」ファイルを削除してjupyterのカーネルを再起動したが日本語化しないという現象。。。

こんな感じで↓ f:id:kaneshirok:20171128173704p:plain

設定ファイルの読み込み優先順は以下のようになっている。
①現在のワーキングディレクトリにあるmatplotlibrc
②$MATPLOTLIBRC/matplotlibrc
③$HOME/.config/matplotlib/matplotlibrc、または$XDG_CONFIG_HOME/matplotlib/matplotlibrc、または.matplotlib/matplotlibrc(OSや環境により異なる)
④matplotlibパッケージがインストールされたディレクトリのmpl-data/matplotlibrc

で、自分は①の対応したが、なぜが上手く行かない。。。

解決策

まさかとは思い、最後に行うjupyterのカーネルを再起動ではなく、jupyter自体を再起動したらまさかの解決。。。
しかも、よく見たら本に「jupyterの再起動」または「カーネルの再起動」でも大丈夫と書いてあった。。。
設定ファイルを追いかけていた時間が。。。
これを教訓にします。。。

まとめ

今回の手順をまとめておきます。
①「matplotlibrc」のファイルをワーキングディレクトリにコピー

import shutil
from matplotlib import matplotlib_fname

# 設定ファイルをコピー
shutil.copyfile(matplotlib_fname(), 'matplotlibrc')

②ワーキングディレクトリにコピーされた「matplotlibrc」の設定ファイルをエディタかなんかで編集をする。
編集する箇所は「208行目」付近の「#font.sans-serif」の行をコメントアウトを除去して、「DejaVu Sans」の前に「Source Han Code JP」を追加する。

③そして、「fontList.py3k.cache」ファイルを削除する

cd ~/.matplotlib/
rm -f fontList.py3k.cache

④最後にjupyter自体を再起動←※ここ重要

あとはこんな感じで表示される。 f:id:kaneshirok:20171128171932p:plain

あー久々にブログ書いた。 頑張ります。。。