Python関連のことを調べてみた2020年03月27日

Python関連のことを調べてみた2020年03月27日

備忘録:/etc/shadow を直接変更する

Linux NAS 箱などの /etc/shadow に保存されているパスワードがわからくなったときの手段。

1. HDD を取り外して Linux (PC) に接続 (mount)
3. **python3** でハッシュを作る
4. mount したパーティションにある /etc/shadow を編集

python3 によるパスワード ハッシュ生成

“`python
$ python3
>>> import crypt
>>> crypt.crypt(‘‘, crypt.mksalt())
‘$.$..$…’
“`

元記事を表示

AI部・開発チームの働き方(私の場合)

本記事ではAIテクノロジー部の開発チームに所属する、私、小川の働き方を紹介します。

なお、本記事は私の場合の紹介です。

働き方はメンバーごとに異なりますし、家族構成によっても異なります。
私の場合は結婚していますが、子供はいないです。

また部が異なる場合も働き方は違います。

本記事ではあくまで、AIテクノロジー部の私(小川雄太郎)の働き方、1週間を紹介します。

## なぜ今の会社から転職しないのか
ときおり、「なぜ小川は電通国際情報サービス(ISID)で働いているの?他に転職しないの?」
と聞かれるのですが、

現時点、転職していない理由の大きな1つが

「ISIDが非常に働きやすく、仕事とプライベート(自己学習)が両立しやすい環境」

です。

その実態を紹介します。

##「基本ルール」
まず会社の基本ルールですが、

1. 所定労働時間は7時間
2. 所定の標準勤務時間は9:30~17:30(1時間休憩を含む)

です。

多くの企業様は、標準労働時間は8時間(7時間45分)が多いですが、
ISIDは7時間です。

8時間と比べると、毎日1時間、労働時間が少ない

元記事を表示

PythonでGoogleカレンダーのfaviconみたいな画像をたくさん生成してVueのプロジェクトに組み込んでみた

この記事は[株式会社クロノス](https://www.kronos.jp/)の[「~2020年春~勝手にやりますアドベントカレンダー」](https://qiita.com/beeeyan/items/342d51fa301bcf81e9c0)の19日目の記事です。

# はじめに
Googleカレンダーのfaviconをご存知でしょうか?
![スクリーンショット 2020-03-15 17.56.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239351/d0d52489-3697-771e-5e0f-58230f2ec592.png)

この画像は3月15日に取った画像ですが、実はアクセスした日によって中の数字が変わる仕組みになってたりします。

ということで自分も[前にカレンダー的なアプリを作った](https://qiita.com/maroKanatani/items/7ca85205430cead76817)のでそれに導入してみることにします。

前まではこんな感じでした。

![

元記事を表示

【Python】多重分類問題のTraining, Validation, Testフォルダーを簡単に作る方法

#はじめに

多重分類問題(Multi Classes Classification)において、自前の画像データをTraining, Validation, Testに分ける方法を紹介します。

#やりたいこと

自分が持っている画像データが下記の図のようにinputフォルダーにあるとします。

image.png
その画像データを下記の図のようにtraining, Validation, Testフォルダーに分けたいと思います。
image.pngAtCoder Beginner Contest 082 過去問復習

#所要時間

スクリーンショット 2020-03-26 19.41.37.png

#感想
調子が出てきたのか三番目でバチャコンをフィニッシュできました。ただ、最後の問題は無証明で少し解答と異なる方法で通してしまったので解答をしっかり復習したいです。

#[A問題](https://atcoder.jp/contests/abc082/tasks/abc082_a)

繰り上げをする。
math.ceilは誤差があるので使わなかった。
未来永劫math.ceilは使わない気がする。

“`python:answerA.py
a,b=map(int,input().split())
print(-((-a-b)//2))
“`

#[B問題](https://atcoder.jp/contests/abc0

元記事を表示

pytest

#calculation.pyをpytestでテストします

“`calculation.py
import os

class Cal(object):
def add_num_and_double(self, x, y):

if type(x) is not int or type(y) is not int:
raise ValueError
result = x + y
result *= 2
return result

def save(self, dir_path, file_name):
if not os.path.exists(dir_path):
os.mkdir(dir_path)
file_path = os.path.join(dir_path, file_name)
with open(file_path, ‘w’) as f:
f.write(‘test

元記事を表示

パターン指定型パスワード ジェネレーター

目がチカチカしないパスワードが欲しいので、パターンを指定する形式のパスワード生成プログラムを python で作る。

Python プログラム

“`python:ppwgen.py
#!/usr/bin/env python

import random
from struct import unpack

flag_debug = False
flag_verbose = False
random_seed = None

ALPHABET_Upper = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
ALPHABET_Lower = ‘abcdefghijklmnopqrstuvwxyz’
ALPHABET_All = ALPHABET_Upper + ALPHABET_Lower

VOWEL_Upper = “AEIOU”
VOWEL_Lower = “aeiou”
VOWEL_All = VOWEL_Upper + VOWEL_Lower

CONSONATE_Upper = “BCDFG

元記事を表示

Python によるアービットラージ仮想通貨Bot作成 その1

#アービットラージとは

相場の差分を取る取引手法
価値が確認された時のみ取引を行う

特徴;将来の予測ではなく、現時点の相場間の差分を取るため”負けない”手法を作成できる。

特に差分が発生しやすい仮想通貨に関してその可能性について検証していく。

#基本情報の確認

仮想通貨の流通量:Volume
取引の際の約定可能性、変動性等の確認のために各仮想通貨の流通量を確認する
https://coinmarketcap.com/ja/

#取引所の選択
実際の取引所を決めるための取引量を確認する
先行して変動する取引所と、遅れて変動する取引所を抽出するのも一つの観点となる
ちなみに日本人の利用を制限している取引書があるので注意
(2020/2/11時点で、Binanceは日本人の利用を停止するとのアナウンスがあった)
https://coinmarketcap.com/ja/rankings/exchanges/

bkex.com : Trading fee: maker 0.15%; taker 0.2%.
bilaxy.com ; Trading fee:0.1% transa

元記事を表示

mozilla製オープンソース翻訳プラットフォームpontoonのインストール方法

翻訳自体は古くからあるけれど、翻訳に関するツール、特にオープンソースのツールはそんなに多くありません。
この記事はその中の一つpontoonのインストールする記事です。[^1]
読み方は多分ポンツーンです。
[^1]: 公式的にはローカライゼーションツールとしているけど、翻訳していることには変わらないのでそう呼ぶ
# 用意するものの用意

[これ](https://kitsune.blog/docker-install)とか[これ](https://git-scm.com/book/ja/v2/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)を参考にdockerとgitをインストールする。そっちの方が詳しいのであまり説明しません。
docker-composeも必要だけどdockerインストールしたらついてくるはず。

## windowsの場合
chocolateyを使用して以下のコマンドを打てば簡単に準備で

元記事を表示

JupyterLabからOpenModelicaを動かす

# はじめに
OpenModelica(以下、OM)はパラメータスタディ機能や結果の処理、分析、可視化機能が弱く物足りないことがある。
OMにはPythonとの連携機能があるので、計算の実行や結果の処理をPythonで行うことでOMに足りない部分を補うことができるかもしれない。
それを確認するためまずPython-OM連携機能の動作検証を行いPandasというデータ分析ライブラリで計算結果の処理を行ってみる。
Pythonはほぼ未経験者のため間違いがあればご指摘ください。

# OM-Python連携機能

OMにはPythonとの連携機能が3つある。
主にPythonからOMのコマンドを実行するものである。

+ OMPython
  OpenModelicaShell(以下、OMShell)のコマンドをそのままPythonから実行するツール
  Pthonからシミュレーションを実行するコマンド
  OMShellでシミュレーションを実行するには ‘simulate(~~)’ となるので
  sendExpressionでそのままコードを渡していることが分かる

元記事を表示

コロナでコロコロ変わる新入生情報の更新通知作ったった

# どーでもいい背景
大学決まりました。
春からの新生活に思いをはせてたら
**大学「コロナだから授業延期するわ。入学式もなくすわ。新入生特設サイトに情報乗っけるからマメに確認しろよ」**
ということで5月くらいまで授業ないです

さて、せっかくの長期休みなので勉強でもします
けれどここで一つだけ気をつけるべきことがあります

**大学「新入生特設サイトに情報乗っけるからマメに確認しろよ」**
↑これです
新入生なので情報逃すのは結構きついです
なのでちゃんと更新は確認しないといけません
でも毎日毎日Website見るのはめんどくさくてやってらんね
じゃあもうお分かりですね
そうです、更新通知を作ります
~~というか大学側もChromeの通知機能使って更新通知くらいしてくれよ~~

今回は[早稲田大学 新入生情報サイト](https://www.waseda.jp/fsci/news/2020/03/04/13353/)で作っていきましょう

# 更新通知を作っていく
## やりかた
まずどうやって通知の機能を作るか考えていきましょう

1. スクレピングで最新のサイトの状態をとってく

元記事を表示

100日連続実装生活 4日目

#NeuralNetworkを1から実装
今日は昨日の続きで、NeuralNetworkを自力で作ってみました。
[昨日の記事はこちら](https://qiita.com/AoHina/items/137fc52f8f6f084cf6be)

##流れ
昨日の記事にも書いたように、ロジスティック回帰を何個もくっつけたようなものっていうイメージです。
これまでの実装したものをさらに何層にもします。

そして、NeuralNetworkで一番?重要なのは活性化関数です。

NeuralNetworkは人の神経細胞を模しているので、ある基準値を超える数値を与えられたときに発火するようにします。その役割を活性化関数が担っています。

##コード
[day4.py](https://github.com/HinataAoki/Everyday-AI-life/blob/master/day4.py)
バイアスは結果としてよかったものを設定してあります。

##疑問点
1. 今回のように層が決まっていれば、微分の式も書くことができますし、計算できますが、sklearnやほかのライブラリに入ってい

元記事を表示

【SEIRモデル入門】COVID-19データをフィッティングしてみる♬

新型コロナの感染データをSEIRモデルを用いて、フィッティングしてみた。
手法は前回の[【minimize入門】SEIRモデルでデータ解析する♬](https://qiita.com/MuAuan/items/88d5d0c416abb9e9915e)と同様である。感染データは以下の参考サイトから入手した。
武漢のデータに対して[【matplotlib入門】COVID-19データから終息時期を読む♬](https://qiita.com/MuAuan/items/8cc7d21387e20f31a057)において、以下の結果を得た。
![fig_Hubei_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233744/03bef60c-4612-fc8d-ab2b-01f0ce6f0715.png)
これをそれらしい曲線が得られるように初期値を選んでフィッティングしたものが以下のように得られる。
![SEIR_Hubei_b0.00_ip0.00_gamma14.61_N112177_E0318_I03

元記事を表示

DjangoのGeoIp2操作方法

# DjangoでのGeoIp2の設定から使い方

## はじめに

1. Django1.9以上

2. GeoIp2-databaseのダウンロードをMAXMIND公式サイトから入手する必要がある。
ユーザー登録を行うことで無償ファイルをダウンロードすることができる。

>[MAXMIND公式サイト](https://www.maxmind.com/en/home “maxmind”)

## 設定
### django-geoip2-extrasのインストール

“` python
# cmd
pip install django-geoip2-extras
“`

### setting.pyを編集
####GeoIP2Middlewareを追加する

“`python
# setting.py

MIDDLEWARE = [
~
‘django.contrib.sessions.middleware.SessionMiddleware’,

# SessionMiddlewareの後にGeoIP2Middlewareを追加する
‘geoi

元記事を表示

Python はじめから勉強 Hour6:よく使うデータ型:タプル型・セット型・辞書型

# Python はじめから勉強 Hour6:よく使うデータ型:タプル型・セット型・辞書型

* Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
* 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間
* よく使うデータ型についての理解。「タプル型」「セット型」「辞書型」をやります

## 学習資料

* たった 1日で基本が身に付く! Python超入門
* https://a.r10.to/hbHMiv

## 過去の投稿

* [Python はじめから勉強 Hour1:Hello World](https://qiita.com/matsumo2019/items/5a69381f44456e6e6a5d)
* [Python はじめから勉強 Hour2:制御文](https://qiita.com/matsumo2019/items/6daa862fd34c8929fb65)
* [Python はじめから勉強 Hour3:関数](https://qiita.com/matsumo2

元記事を表示

[入門編] Python のスクリプトをコンテナ化して、Azure Batch で動かす手順:

# はじめに
実案件で始めて `Azure Batch` を使う時などを考慮して、なるべく画面ベースで簡易な方法で、手元の `Python` のコードを動かす手順です。

Azure Batch では Container を使うツール/Framework として、`Batch Shipyard`という手法が提供されています。ただし、いきなりそれを使うと、**内部の動き**が理解しずらい事もありますので、ここではそれも使いません?
つまり、少し **Hack** を一緒にしてみましょう!

Batch Shipyard:
https://github.com/Azure/batch-shipyard/tree/master/recipes

残念ながら、既存ドキュメントやサンプルではこの部分のドキュメントが少し足らないですので、ここで補足をします。

# Azure Batch とは
Python で複数コンピューターを使う処理といえば、Horovod などを使っての Deep learning での大規模処理を思い浮かべる方も多いと思います。それだけでなく、大量の計算を Python

元記事を表示

Pythonで毎日AtCoder #17

### はじめに
[前回](https://qiita.com/taxfree_python/items/b6a32ca2928eebd10df0)
今日から類題を解きます。

### #17
**考えたこと**
[ABC064-A](https://atcoder.jp/contests/abc064/tasks/abc064_a)
倍数判定するだけ

“`python
r, g, b =map(str,input().split())

n = int(r+g+b)
if n % 4 == 0:
print(‘YES’)
else:
print(‘NO’)
“`
[ABC088-A](https://atcoder.jp/contests/abc088/tasks/abc088_a)
nを500で割った余りを1円玉で払えるかを考えています

“`python
n = int(input())
a = int(input())

m = n % 500
if m <= a: print('Yes') else: print('No') ```

元記事を表示

Pythonでクォータニオンをz-y-x系オイラー角に変換するコード書いてみた

# Pythonでクォータニオンをz-y-x系オイラー角に変換するコード書いてみた

クォータニオンからz-y-x系オイラー角の計算をしなければならなくなりました。

しかも、Python2.7で書かなければいけない案件なので、`scipy.spatial.transform.Rotation` みたいな便利なやつ使えません。

公式を調べてみたら、WikipediaにC++のサンプルコードが載っていました。

[Wikipedia / Quaternion to Euler Angles Conversion](https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Source_Code_2)

## Pythonで書いてみた

Wikipediaのサンプルコードを参考にして、Python2.7のコードを書いてみました。

“`python
import math
import numpy as np
from pyquaternion import Quaternion

元記事を表示

PythonユーザのためのRコード対応シート

Pythonの分析系コードを理解している人向けに、Rコードの対応まとめました。 ※随時更新中
(本記事では、Rのbaseパッケージのみ使用)

「pythonで書くあれって、Rでどう書くんだっけ?」っていう流れって多いんですよね。

# ドキュメント内の命名規則

特に断りがなければ、モジュール名のエイリアスは下記の通り。

“`python:python
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
“`

下記に登場する変数名称のイメージ。

“`python:python
df = pd.DataFrame()
“`

“`R:R
df = data.frame()
“`

# PythonコードのRでの書き方

## データフレームの生成

### pd.DataFrame()
データフレームの作成

“`R:R
data.frame() #空のデータフレームを生成
data.frame(col1=c(x1, x2, x3), col2=c(y1, y2, y3))

元記事を表示

Influence functionをロジスティック回帰に適用する

# influence functionとは

ICML2017のベストペーパーである[Understanding Black-box Predictions via Influence Functions](https://arxiv.org/pdf/1703.04730.pdf)で提案された関数で,機械学習モデルに対して学習サンプルが与える摂動を定式化したものです.

論文の概要や解説については[こちら](https://qiita.com/yuzupepper/items/52261633c9678e2e0aa0)や[こちら](https://qiita.com/nayopu/items/9690a8ae8a1c7154e6e2)をご参照ください.

この記事では,influence functionの挙動を理解するためにいくつかの実験をします.

# ロジスティック回帰とinfluence function

ロジスティック回帰は[こちらの実装](https://qiita.com/nanairoGlasses/items/6bf747734bac2a509628)を参考にさせ

元記事を表示

OTHERカテゴリの最新記事