Python関連のことを調べてみた2019年12月18日

Python関連のことを調べてみた2019年12月18日
目次

ハッシュチェーン、それは歴史を抱え込みながら成長していくデータ構造

この記事はデータ構造とアルゴリズム Advent Calendar 2019 18日目の記事です。
17日目は @takilog さんが「Fréchet距離の計算アルゴリズム」について書かれていました。面白かったので、少し勉強してみようと思いました!
19日目は @tsukasa__diary さんの担当です!

ブロックチェーン技術は、耐改ざん性がある技術として暗号資産やトレーサビリティ、知財管理などさまざまな分野で注目を集めています。そんなブロックチェーンの安全性を高める上で大きな役割を果たしているものの一つが**ハッシュチェーン**というデータ構造です。

#ハッシュ関数を生かした巧みな構造
ハッシュ関数とは、入力値のビット長に関わらず一定の長さのビット長を出力する関数です。ハッシュ関数には、以下のような代表的な特徴があります。

– 入力値のビット長に関わらず一定の大きさのビット長のデータを出力する
– 入力値が微妙に変化しても、出力値が大きく変化する

さて、本題のハッシュチェーンですが、これはハッシュ関数を使って出力されたハッシュ値を他のデータと一緒にさらにハッシュ値を

元記事を表示

学習記録 その6(10日目)

#学習記録(10日目)
勉強開始:12/7(土)〜
使用書籍:大重美幸『詳細! Python3 入門ノート』(ソーテック社、2017年)

【Numpyの配列(Ch.15 / p.380)】 から再開(9日目)、
【手書き文字の分類(Ch.16 / p.396)】 まで終了(10日目)

本日から機械学習に入ります。

##機械学習(手書き文字の分類)
(1)学習データを訓練データとテストデータに分ける。
(2)訓練データと教師データを**学習器**に入れる。→ 学習済みモデル(分類器)
(3)テストデータと教師データを分類器に入れ、性能を評価する。

・scikit-learn(サイキットラーン)という学習器を使用
・手書き文字の分類(sklearnパッケージのdatasetsモジュール使用)
 パッケージは**複数のモジュール**をまとめたもの。
・scikit-learnの数字画像データを使用して練習
 今回は画像データ(digits.data)と教師データ(digits.target)を分割して使用する。
 画像データの2/3が訓練データ、1/3がテストデータ
 教師データにつ

元記事を表示

ICCV2019 Best paper SinGANのできる事できない事[実践編]

#はじめに
本記事はCyberAgent20新卒エンジニア[Advent Calender2019](https://adventar.org/calendars/3976)の18日目のエントリです.
私は大学院でDeep learningを用いたComputer visionの研究をしている者です.
twitter → https://twitter.com/revi_matsu
今回は,先日開催されたICCV2019でBest paperを受賞した**SinGAN**実践編です.

#本記事の読み方のすヽめ
[ざっくりと概要を理解したい方]
本記事を読んでください。
[少し仕様を知りたい方]
本記事→[“SinGAN”さらっと読んで簡単にまとめてみた](https://qiita.com/Vision_Matsu_Run/items/5f9a958cbaf93bc7b171)
[詳細まで知りたい方]
本記事→[“SinGAN”さらっと読んで簡単にまとめてみた](https://qiita.com/Vision_Matsu_Run/items/5f9a958cbaf93bc7b171

元記事を表示

Touch De Banana

# はじめに
 2019/11/17に大阪で開催された[dotFes](https://www.dotfes.jp/2019osaka/)にKANSAI TouchDesigner Users with SPEKTRAでTouchDesignerを用いた作品の展示をデジタルアートと電子音楽ユニットの∀RroWsでさせていただきました。その際に展示したものがこれ。

元記事を表示

python-pptxでレポーティングを自動化する

VISITS Technologies Advent Calendar 2019 18日目は@woods0918が担当します。
前日の@kshibata101の記事[AWSしか触ったことのないサーバーエンジニアがGCPで本番運用してみた(後編)](https://qiita.com/kshibata101/items/56bf3714c4828dd0e68e)が読みごたえのある良記事だったので、是非ご覧ください。

本記事では、「データ分析の結果を定期的にPowerpointでレポーティングしてくれ」という~~面倒な~~依頼を快く引受けるために必須の[python-pptx](https://python-pptx.readthedocs.io/en/latest/#)を紹介できればと思います。

## python-pptxで何をするか
分析した結果やそこから得られる示唆を自動でPowerpointのレポートにまとめることができます。
例えば、バッチで動いている日次分析処理の最後に、python-pptxによるレポート作成処理とIncoming Webhooks(slack)を使った

元記事を表示

【Python】決定木個人的チュートリアル

カンニングシート的に利用する予定。

## 決定木(Decision Tree)とは

 決定木は、クラス分類と回帰予測で広く用いられる機械学習モデルである。Yes/Noで答えられる質問で構成された**階層的な構造**をもつ。決定木では、説明変数の1つ1つが目的変数にどのくらいの影響を与えているのかを見ることができる分割を繰り返していくことで枝分かれしていくが、先に分割される変数ほど影響力が大きいと捉えることができる。

![決定木.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/481315/aa58003a-357c-bc8f-d437-6fa47e0eee3a.png)

 この分類器は、**4クラスのデータを3つの特徴量で識別する分類モデル**と表現することができる。このようなモデルは、機械学習アルゴリズムを使うことで、訓練データを学習して実際に上記のような木を描くことが可能になる。

## 決定木の特徴

#### メリット

>* 決定木が結果を**可視化**できることから、解釈が比

元記事を表示

socceractionでサッカーFIFAW杯ロシア大会のデータを分析してみた

**こちらは、NTTドコモ サービスイノベーション部のADVENT CALENDERの18日目の記事となります。**

こんにちは!NTTドコモの大杉です。

学生時代はサッカーとフットサルに費やし、現在はマーケティング関連のデータ分析業務を行っています。

本日は、socceractionというサッカーに関するpythonパッケージについて、2018年に開催されたFIFA W杯ロシア大会における試合データを分析しながらご紹介していきたいと思います。

# はじめに
socceractionは、KDD2019 Appried Data Sciense TrackのBest Paper Awardを受賞した **”Actions Speak Louder than Goals: Valuing Player Actions in Soccer”** [^1 ]で紹介されています。

[^1 ]: Decroos, Tom, et al. “Actions speak louder than goals: Valuing player actions in soccer.” *Procee

元記事を表示

ipdbで手軽にデバッグ

[未来電子テクノロジー](https://www.miraidenshi-tech.jp/intern-content/program/)でインターンをしている[箕牧和廣](https://qiita.com/mimaki_kazuhiro)です。
今回はipdbについて書いていこうと思います。

プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

#ipdbとは
Pythonに標準で備わったデバッガであるpdbの拡張機能を提供している。
デバッグとはプログラムの誤りを見つけ、手直しすること。
それでは、まずインストール。

“`sh:terminal
$ sudo pip install ipdb
“`

#実際に動作させてみる

適当な名前のファイルを作成する。
今回は`test.py`というファイルを作成。

“`sh:test.py
import ipdb
print (“debug program”)
a = 10 / 3
b = 10.3 / 3.4
ipdb.set_trace()
print

元記事を表示

kaggleを始める前に、python言語が壁な人への導入【全7講義まとめ】

#はじめに
日経 xTECH ビジネスAI Advent Calendar 2019
[AI道場「Kaggle」への道](https://qiita.com/advent-calendar/2019/xtech-businessai-kaggle)の18日目を担当させていただきます。

過去の記事で、
[kaggleに登録したら、まずcontributerを目指そう](https://qiita.com/Ringa_hyj/items/22954bb7bbd8a4671126)
なんて記事を書きましたが、kaggleって興味あるけど、そもそもpythonインストールしただけで何もしてないんだよね・・という方!
kaggleにはcoursesという導入を助けてくれるコーナーがあるのですよ!
導入も学べてコンペで技術も学べる!kaggleってすばらしい!

#英語なんだけど・・・

プログラミングとか機械学習界隈は英語ばかりなんです・・・
助けてg〇〇gle先生! でもいいのですが、今回は細かい部分にコメントを入れながらpython導入コースのさらに導入を担当しようかと。

#kagg

元記事を表示

【超初心者向け】コピペで動かして楽しむPython環境構築&スクレイピング&機械学習&実用化【SUUMOでお得賃貸物件を探そう!】

#はじめに
みなさん、__データ分析はお好きですか__?

初めまして!DMM WEBCAMPでメンターをしている@haraso_1130です。

突然ですが、下の画像を見てください。

スクリーンショット 2019-12-15 18.13.43.png

###なんと東京都23区内の物件で5DK8万円!?

23区内なら平気でワンルーム月8万とかしますよね…

この物件は自分が
**「Python」**を用いて
**「スクレイピング」**によってデータを収集し
**「機械学習」**でデータ分析を行なった結果
発見することができた物件です。

この記事は、(基本的に)**コピペだけで実際にデータ分析を行いデータ分析を好きになってもらうため**の記事です。
つまりふわっと**「なんかすごいことができる!」**くら

元記事を表示

Qiita Organization の新着記事をチャットに通知して組織の学習効率を高める!

社内で Qiita 記事のアウトプット活動を促進しています。G-awa です。アウトプットによる学習方法は学習効率が良く、大変おすすめです。ただその一方で、ひとりでは続けづらいという面もあるのでチームや組織で互いに支え合うことが重要です。ひとりだと心が折れがちですよね。

→→→→

昨日の記事読んだよ、とても参考になった :thumbsup:
などのように、互いに励ま

元記事を表示

編集距離を求めるpythonプログラムを書く【python】【Levenshtein距離】

# 編集距離 is 何
– 2つの文字列を比較する指標
– 以下の3つの操作を何回行うことでs1からs2へ変換できるか
– 置換
– 挿入
– 削除

## 大雑把な説明
– s1からs2へ文字列を変換することを考える

“`
s1 = “aaa”
s2 = “aab”
“`
– 上記のような文字列だった場合編集距離は1
– 置換が1回

“`
s1 = “aba”
s2 = “cc”
“`
– 上記のような文字列だった場合編集距離は3
– 置換2回
– 挿入1回

# 実装
めちゃ便利なpythonモジュール`python-Levenshtein`がある
公式ドキュメントは[こちら](https://pypi.org/project/python-Levenshtein/)

## インストール
pipとかでインストール

“`
$ pip install python-Levenshtein
“`

## プログラム

“`python:leven.py
import Levenshtein
import sys

args = sys.arg

元記事を表示

Pythonコマンドライン解析ライブラリの比較(argparse, click, fire)

# Python コマンドライン解析ライブラリの比較

## はじめに

この記事は Python Advent Calender 18 日目の記事です。

最近になって少しコマンドラインの使用を d することが増えてきました。デフォルトである argparse を使ってきましたが、あまり覚えられないこともあり他の選択肢になるがあるかを調べ比較していきます。
人気がありそうな気がした [click](https://github.com/pallets/click),[fire](https://github.com/google/python-fire) と調査・比較していきます。

この記事では下記のバーションのライブラリを使用します。

“`sh
pipenv –python 3.7.5
$ pipenv install click==7.0
$ pipenv install fire==0.2.1
“`

## 作成するコマンドラインツール

“`sh
python commands.py [command] [options] NAME
“`

### 基本

元記事を表示

uproot: Python/NumpyベースでROOTファイルを読み書きするライブラリ

# 概要

CERN開発の解析ライブラリROOT(C++ベース)では、データを\*.rootファイルで管理・保存します。
uprootはこの\*.rootファイルを高速に読み書きするpython/numpyベースのライブラリです。
リリースされて比較的日が浅いこともあり日本語のドキュメントが見当たらないですが、素粒子・原子核・宇宙実験を中心に使用されるROOTとpythonベース機械学習フレームワークをつなぐ上で非常に有用そうなので、まとめてみました。
[公式ドキュメント](https://github.com/scikit-hep/uproot)
[ROOT ホームページ](https://root.cern.ch/)
![logo-uproot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277751/dc277c76-513b-352b-6d29-960016b46e10.png)

# 背景
作成したROOTファイルを元に機械学習を走らせたい場合、いくつかの方法が考えられます。
1. ROOT

元記事を表示

Alexaに「大石泉すき」と喋らせる(またの名をAlexa、大石泉すき姉貴化計画)

この記事は[「大石泉すき」アドベントカレンダー](https://qiita.com/advent-calendar/2019/ohishi-izumi-suki) 18日目の記事となります。
18日目は、みんな大好きスマートスピーカーのAlexaさんを、大石泉のことがすきなスマートスピーカーに仕立て上げます。

## 何をするの?

Alexa Skill Kitを用いて、Alexaに話しかけたら返答するSkillを作ります
つまり、これだ!

docker-composeでdjango環境を作ってみる(MariaDB + Nginx + uWSGI)

qiita初投稿です。
何か間違っているところがあったら、コメントしていただけると嬉しいです〜

* mac mojave
* docker-engine 19.03.5
* compose 1.24.1
* python3.8
* Django 3
* mariadb 10.1
* nginx 1.13

Pycharm使ってます。
## ディレクトリ
“`
.
├── db
│   ├── data
│   └── sql
│   └── init.sql
├── docker-compose.yml
├── nginx
│   ├── conf
│   │   └── app_nginx.conf
│   ├── log
│   └── uwsgi_params
├── python
│   ├── Dockerfile
│   └── requirements.txt
├── src
│   └── project
│   ├── app
│   ├── project
│   └── uwsgi.ini
└── static
“`

元記事を表示

ニコ生の配信を分析した話。

# はじめに
私はVTuber限界オタクです。
12月、両国国技館にて「Virtual to Live」が開催され、ニコ生で配信もされました。
現地に行けず、さらにはリアルタイムで見ることすらできなかった負け組ですが、円盤が出るまで待つこともできませんでした。
そんなわけで、ネットチケットを購入してタイムシフトを見たわけです。
まぁ、案の定死にまして。
タイムシフトが見れなくなるまでに保存したいと考えた私は、Pythonを片手にニコ生の分析を始めました。

ちなみに、僕の強さは「websocketってなに?」「hls?」「selenium?」程度です。

# ニコ生の中身
**※注意: 2019年12月17日現在の情報です。今後ニコ生の仕様が変わる可能性があります。**

分析は、ChromeのDevToolsを活用しました。
Chrome上で`F12`を押すことで表示することができます。
まずは適当な配信を開きましょう。
配信を開いてからF12を押した場合は、一度リロードしてください。

## HLS
DevToolsの`Network`タブには、そのウェブサイトでの通信ログを見るこ

元記事を表示

python で学ぶ「オブジェクト指向」

こちらは[ITRC Advent Calendar 2019](https://adventar.org/calendars/4759) 18日目の記事です。
[前回の記事](https://yukimura4423.hatenadiary.jp/entry/2019/12/18/022722)
次回 : [??]()

# 経緯
よ〜し!Rustのプログラムかくぞ〜!

ん?ここなんでエラー出てるんだろ?
ん?なおらんぞ?
ここを直せば!
直った?いや、エラーが増えた!?
やばい日付かわった。。

ん?先週と同じだって..?
知らないな〜〜〜〜なんの事かな〜〜〜〜??????


みなさんこんにちは! @saba383810です。rustで他のことをやろうとも思ったのですがエラーや使いたいクレートがうまくインストールできないなどの事件があったので今回はゆるしてちょ。そこでなにを書くか考えていたところ授業でちょうどオブジェクト指向について触れていてオブジェクト指向について理解し始めたのでメモ程度に記事を書きたいと思います。
今回はpythonのサンプルコードをみながら説明してい

元記事を表示

code-server オンライン環境篇 (2) Boto3 で 仮想ネットワークを作成する

これは、2019年 code-server に Advent Calender の 第13日目の記事です。

前回に続き、EC2 Instance を 立ち上げたいと思います。

目次
[ローカル環境篇 1日目](https://qiita.com/kyorohiro/items/35bab591cd4a6b975c80)
[オンライン環境篇 1日目 作業環境を整備する](https://qiita.com/kyorohiro/items/603d6ee693fc2300079e)
[オンライン環境篇 2日目 仮想ネットワークを作成する](https://qiita.com/kyorohiro/items/6f2452ec2a2fe3640979)

オンライン篇 3日目 Instanceを立ち上げる
オンライン篇 4日目 Code-Serverをクラウドで動かしてみる
オンライン篇 5日目 Docker環境を構築してアレコレ
オンライン篇 6日目 簡単な起動アプリを作成してみよう

オンライン篇 .. Coomposeファイルで構築
オンライン篇 .. K8Sを試してみる
.

元記事を表示

OTHERカテゴリの最新記事