- 1. Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{4. モデル応用編}
- 2. SoxとPythonでステレオをモノラルに一括変換
- 3. trimeshでgltf/glbをnaiveにloadするとtransform nodeが反映されない問題とその対処法
- 4. Windows版のpythonで、cmd.exeの内容を完全に取得する事は「出来ませんでした」
- 5. 競馬データの収集、分析、そして大金を失う迄 その2
- 6. Pyhtonによるネスト化されたリスト型を学んでみた
- 7. 【Django】adminページをカスタマイズしたいって?
- 8. Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{3. モデル利用編}
- 9. はじめてのPython3 ~番外編:数値ランダム狂想曲~
- 10. 【Python】写真の位置情報のタグ(JPGファイルのGPS Exif)の読み書き
- 11. Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{2. モデル作成編}
- 12. Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{1. データ取得&前処理編}
- 13. DeepLearningを用いた株価予測(正解データ作成)
- 14. Djangoでパスワード変更すると、勝手にログアウトされる
- 15. 日本語の発音を取得する【Python】【MeCab】
- 16. 手動テストのボリュームが多すぎつらい→急遽Seleniumにすがって半自動テストでしのいだ
- 17. 日本語(カタカナ)をモーラ単位で分かち書き【Python】
- 18. pythonによる決定木による二値分類(【高等学校情報科 情報Ⅱ】教員研修用教材)
- 19. Django3チュートリアル準備
- 20. 日本語を文節単位で分かち書きする【Python】【MeCab】
Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{4. モデル応用編}
# はじめに
4本立ての記事、4本目(最後)です。
1. [データ取得&前処理編](https://qiita.com/Blaster36/items/84b1af5802f150017d84)
2. [モデル作成編](https://qiita.com/Blaster36/items/810869c8c622fc0d1091)
3. [モデル利用編](https://qiita.com/Blaster36/items/3e37282425587127fc1c)
4. モデル応用編 ★本稿## 本稿で紹介すること
– word2vecモデルの応用
以下のリンク、5つ目に掲載されたCodeを見本とし、筆者が作ったword2vecモデルを使って試行しました!
[word2vec](https://code.google.com/archive/p/word2vec/)
[Word2vec Tutorial](https://rare-technologies.com/word2vec-tutorial/)
[Deep learning with word2vec and ge
SoxとPythonでステレオをモノラルに一括変換
#ステレオモノラル一括変換
pythonでフォルダ内のファイル全て取得して、
soxでステレオモノラル変換させる。“`terminal
brew install sox
“““`python
# USAGE
#python streo2mono.py input output
#python streo2mono.py FOLDER_PATH
import subprocess
import sys
import osfile_path = sys.argv[1]
output_path = sys.argv[2]
file_list = os.listdir(path=sys.argv[1])cmd_mkdir = “mkdir %s” % (output_path)
subprocess.call(cmd_mkdir, shell = True)for i in range(len(file_list)):
if(file_list[i]==”.DS_Store”):
print(“find DSSTORE”)
else:
inpu
trimeshでgltf/glbをnaiveにloadするとtransform nodeが反映されない問題とその対処法
## はじめに
Pythonでgeometry file (`.obj`, `off`, `.glb`など)を読むときにtrimeshというlibraryを使うことが多いと思います。
https://github.com/mikedh/trimesh
例えば、`trimesh.load()`を用いれば、以下のように容易にfileを読むことができます。
“`py
import trimeshfilename = “yakiniku_tabetai.obj”
geom = trimesh.load(str(filename), process=False) # trimesh.Trimesh
print(geom.vertices)
“`この関数は基本的に`trimesh.Trimesh`を返すのですが、
fileの拡張子が`glb`(もしくは`gltf`)の時には`trimesh.Scene`というScene Graphを保持するclassのobjectを返します([Documentation](https://trimsh.org/trimesh.scene.sc
Windows版のpythonで、cmd.exeの内容を完全に取得する事は「出来ませんでした」
npmをインストールしている時のコンソールの出力を**全て**残そうと思ったけど出来なかった。
理由は、`isTTY`で出し分けをしており、pythonのttyモジュールはwindowsでは使えないから。# やりたかった事
↓コマンド実行中に表示されるプログレスバー。コマンド完了時には消えてる。
![2020-08-09-00-52-47.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5825/76e42910-0d98-72c9-e495-d104ea8a1366.gif)これを**全て**テキストファイルに保存したかった。
# した事
以下のコードで`npm install typescript`コマンドを実行した。
“`python
commands=[“npm”,”install”,”typescript”]
def gl():
cp = subprocess.Popen(commands,shell=True,stdout=subprocess.PIPE,stderr
競馬データの収集、分析、そして大金を失う迄 その2
#はじめに
前回はpandasを使って今年の日本ダービーを題材に結果をDataFrame形式で取得する話を書きました。
[競馬データの収集、分析、そして大金を失う迄 その1](https://qiita.com/kuri_tter/items/5fbcb00ac448327792d8)
今回は、レースの条件や詳細、賞金といった情報をスクレイピングする方法について、まとめていきます。#取得するデータ
画像の緑枠の部分をBeautifulSoupを使って取得します。
まずはsoup オブジェクトを生成します。
![keiba.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680218/cdc32006-d83b-a2ae-9972-417dfe850595.jpeg)“`python
from bs4 import BeautifulSoup
import requests
import pandas as pd
import osurl=’https://race.netkeiba.com/
Pyhtonによるネスト化されたリスト型を学んでみた
#Pythonの文法:ネスト化されたリスト型
**下記がそのデーターである。(出力結果:Lもも)**
**※参考までにソースコードも貼っておきます。**“`
# Pyhtonによるネスト化されたリスト型
data2 = [ #←これで一つのインデックス(3次元)
[ #①
[‘Sなし’, ‘Mなし’, ‘Lなし’],#②
[‘Sりんご’, ‘Mりんご’, ‘Lりんご’], #←これで一つのインデックス(2次元)#②
[‘S洋ナシ’, ‘M洋ナシ’, ‘L洋ナシ’]#②
],
[ #①
[‘Sもも’, ‘Mもも’, ‘Lもも’], ②
[‘Sすもも’, ‘Mすもも’, ‘L
【Django】adminページをカスタマイズしたいって?
# はじめに
「Djangoの管理者ページのカスタマイズなんて、今までしたことないよ〜」という方向け。
初級編です。カスタマイズしなくても十分使えそうだが、エンジニア以外の人が触るようになると、デフォルトだと少し寂しい?
詳細な解説というより、ググると良い用語をパパッと上げていくスタイルです。
ちゃんとまとめると大変ですからね。。。Djangoのドキュメント
https://docs.djangoproject.com/en/3.0/ref/contrib/admin/# ModelAdminクラス
基本的には、`ModelAdmin`クラスのサブクラスを作成して、カスタマイズ内容を記述する。
例えばSampleModelという名前のモデルをカスタマイズしようと思ったら、以下のようにする。“`admin.py
from django.contrib import admin
# 通常は「モデル名+Admin」という名前にする
class SampleModelAdmin(admin.ModelAdmin):
”’
このクラスの中にカスタマイ
Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{3. モデル利用編}
# はじめに
4本立ての記事、3本目です。
1. [データ取得&前処理編](https://qiita.com/Blaster36/items/84b1af5802f150017d84)
2. [モデル作成編](https://qiita.com/Blaster36/items/810869c8c622fc0d1091)
3. モデル利用編 ★本稿
4. [モデル応用編](https://qiita.com/Blaster36/items/140f2b5c532c3be4b8fe)## 本稿で紹介すること
– word2vecモデルの利用
[word2vec](https://code.google.com/archive/p/word2vec/)
[Word2vec Tutorial](https://rare-technologies.com/word2vec-tutorial/)
[Deep learning with word2vec and gensim](https://rare-technologies.com/deep-learning-with-word2
はじめてのPython3 ~番外編:数値ランダム狂想曲~
# はじめに
注意点などは[こちら](https://qiita.com/kashun0410/items/4113051964d5a1cd0bb5)を参照してください。# この記事を描こうと思ったきっかけ
Pythonの計算に関して、適当な数値を入れてみてみたい。
そこでランダムな数値を精製してくれるrandomモジュールを使用してみることにしました。
そんなrandomモジュールについての備忘録のようなものです。
(更新予定の途中記事です。)# ようこそ、乱数の世界へ
### randomモジュールをインポート
randomモジュールはPythonの標準ライブラリに含まれているため、ダウンロードは入りません。
ただし、インポートは必要です。“`
import random # 上部の段にこれを記述
“`### randomモジュールの関数
#### random.random()
0.0以上1.0未満の浮動小数点数float型の乱数を生成します。“`
import randomprint(random.random())
#
【Python】写真の位置情報のタグ(JPGファイルのGPS Exif)の読み書き
# はじめに
これも自分用のメモです。python を使うと楽にできます。注意点として、– 緯度経度は度分秒なので60進数
– 値は実数ではなく、分数で。(有理数、というのかな)いくつか関係するライブラリがあります。どれか一つに統一したほうがよいのですが、とりあえず動いたものメモです。(おい)
### 仕様書?
下記の文献を見つけました。
– [デジタルスチルカメラ用 画像ファイルフォーマット規格 Exif 2.3](http://www.cipa.jp/std/documents/j/DC-008-2012_J.pdf)
これによるとGPS Info IFDは以下のように定義されているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294040/848f1cb4-5182-9957-ed1c-ab45027c2d19.png)
たくさんありますが、私が扱ったファイルでは0 – 6 までのタグのみでした。GPSの緯度、経度、高さが読み書きできたので、とりあえ
Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{2. モデル作成編}
# はじめに
4本立ての記事、2本目です。
1. [データ取得&前処理編](https://qiita.com/Blaster36/items/84b1af5802f150017d84)
2. モデル作成編 ★本稿
3. [モデル利用編](https://qiita.com/Blaster36/items/3e37282425587127fc1c)
4. [モデル応用編](https://qiita.com/Blaster36/items/140f2b5c532c3be4b8fe)## 本稿で紹介すること
– word2vecモデルの作成
[word2vec](https://code.google.com/archive/p/word2vec/)
[Word2vec Tutorial](https://rare-technologies.com/word2vec-tutorial/)
[Deep learning with word2vec and gensim](https://rare-technologies.com/deep-learning-with-word2
Pythonプログラミング:ウィキペディアのデータを使ってword2vecをしてみる{1. データ取得&前処理編}
# はじめに
今回から4本立ての記事を投稿します。
1. データ取得&前処理編 ★本稿
2. [モデル作成編](https://qiita.com/Blaster36/items/810869c8c622fc0d1091)
3. [モデル利用編](https://qiita.com/Blaster36/items/3e37282425587127fc1c)
4. [モデル応用編](https://qiita.com/Blaster36/items/140f2b5c532c3be4b8fe)## 本稿で紹介すること
– Ubuntuのセットアップ ※Ubuntu 18.04.4 LTS
– 前処理用ツールのインストール
– 前処理の実作業(ウィキペディア日本語版のデータベースDUMPファイルの取得・加工)[Wikipedia Extractor – Medialab](http://medialab.di.unipi.it/wiki/Wikipedia_Extractor)
[GitHub – attardi/wikiextractor: A tool for extrac
DeepLearningを用いた株価予測(正解データ作成)
#DeepLearningを用いた株価予測(正解データ作成)
[前回の続き](https://qiita.com/hiro0219/items/6dccf56b30f4b2edc62b)
前回の回で株価のデータを加工したので,今回はその加工データをもとに正解ラベルを振っていこうと思う.
と言っても,やることは単純で今回やりたいことは2か月分のデータを元にその先1か月後に上昇しているかどうか.つまり,2か月時点のデータ(40点目)と3か月後のデータ(60点目)を比較し,高いか低いかによって正解ラベルをあたえてやればよい.ただ気になる点が1点.
どうせ,正解ラベルを振り分けるのであれば,上昇5割・下降5割と正解ラベルごとのデータ数に偏りを持たせないことがベスト.
正直なところ上昇する株価を見極めればよいので,株価が1.1倍以上上昇したものとそれ以外で分類しても何ら問題は無い.そこでまずは株価の上昇比率を簡単に可視化することにする.###データの可視化
今回は株価の上昇比率をmatplotlibのhistを使用して可視化していこうと思う.“`python
# -*- cod
Djangoでパスワード変更すると、勝手にログアウトされる
Django==2.2.12でのお話です。
ログインした状態で、自作の画面からユーザパスワードを変更したあと・別のページに遷移しようとすると、まずログイン画面に飛んでしまう
・普段なら問題のないサーバーへのリクエストがエラーを返すといった状況を不思議に思ったアナタ!
実はカスタムのパスワード変更画面を利用している場合、パスワード変更後に強制的にログアウト状態になってしまうんですね。
それまで使用していたセッションが使われなくなるのが原因です。Djangoが用意している`PasswordChangeView`なんかを使用している場合は、パスワード変更後に自動で新しいセッションを作成してくれるので、ログイン状態が続いてくれます。
カスタム画面でもそうしたい!という場合は`update_session_auth_hash()`関数を使うといいよ。
といったことが、ドキュメント
https://docs.djangoproject.com/en/3.0/topics/auth/default/#session-invalidation-on-password-change
に
日本語の発音を取得する【Python】【MeCab】
#やったこと
MeCabとPythonで日本語の発音をカナで取得する関数を作りました。
例えば、「今日はよく寝ました」と入力したら「キョーワヨクネマシタ」と返すようなものです。
#環境
– macOS Catalina 10.15.4
– python3.8.0下記を参考にMeCab、mecab-ipadic-neologd、mecab-python3をインストールしました。
https://qiita.com/taroc/items/b9afd914432da08dafc8下記を参考にpythonからimportするMeCabのデフォルト辞書をmecab-ipadic-neologdにしておきました。
https://qiita.com/shimajiroxyz/items/3b475da3b6cd850d2c22辞書はneologdでなくても構いません。
またひらがなをカタカナに変換する’jaconv’をインストールしておきます。
“`
pip install jaconv
“`
#方針
MeCabの出力結果はデフォルトでは下記のようになっています。“`
手動テストのボリュームが多すぎつらい→急遽Seleniumにすがって半自動テストでしのいだ
自動テストのない自社サービスのメンテナンスやテストをしてます・・・
後輩「機能追加の実装完了しますた!」
ワイ「ご苦労!」
後輩「テストオネシャッス!」
ワイ「お、おう!」
ワイ「どれどれ、テスト仕様書見てみっか・・・」
テスト仕様書「100項目×4言語分あるやで」
ワイ「死あるのみ・・・」さあどうする!?
ワイ「自動テストするやで」
とはいえ、納期もあることだし、すぐすぐに完全に自動テストはムリでしたが、
手動で値を入力してやるより、ずっと効率よくテストを消化することができました、という話です。
正直、時代遅れ過ぎてqiitaに投稿するのもおこがましいのですが、恥をしのんで恥をさらします。
pythonもほとんど初めてなのでもろもろヤヴァイと思いますがご容赦ください・・・[operations-selenium](https://github.com/atchy/operations-selenium)
selenium経由でブラウザ上での一連の操作を`Opration`クラスのコレクションで保持して、順次実行していきます。結果は目視で確認、ということでどうかひとつ・
日本語(カタカナ)をモーラ単位で分かち書き【Python】
#はじめに
日本語(カタカナ文字列)をモーラ単位で分かち書き(モーラ分かち書き)するpythonの関数を作りました。|元文|モーラ分かち書き|音節分かち書き|
|—|—|—|
|ガッキューシンブン|ガ/ッ/キュ/ー/シ/ン/ブ/ン|ガッ/キュー/シン/ブン|
|アウトバーン|ア/ウ/ト/バ/ー/ン|ア/ウ/ト/バーン|日本語の音韻の代表的な分割単位としてモーラと音節があります。モーラはいわゆる俳句の「5・7・5」を数えるときの区切り方で、長音(ー)、促音(ッ)、撥音(ン)も1拍と数えます。それに対し、音節では長音、促音、撥音は単体で数えられず、直前の単一で音節となれるカナと合わせてひとつの拍と見なされます。詳細は[モーラ – Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%A9)を御覧ください。
本稿ではモーラ単位での分かち書きのやり方を説明します。
音節単位での分かち書きについては下記で説明しています。
[日本語(カタカナ)を音節単位で分かち書き【Python】](https:/
pythonによる決定木による二値分類(【高等学校情報科 情報Ⅱ】教員研修用教材)
# はじめに
決定木とは決定理論の分野において、決定を行うための木構造のグラフです。
決定木を使う場面として、回帰(回帰木:regression tree)と分類(分類木:classification tree)が存在しますが、分類に関して決定木の活用方法を確認していきたいと思います。
具体的には、文部科学省のページで公開されている情報Ⅱの教員研修教材内の「分類による予測」で取り上げられているものをpythonで実装しつつ、仕組みを確認していけたらと思います。# 教材
[高等学校情報科「情報Ⅱ」教員研修用教材(本編):文部科学省](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_00742.html “高等学校情報科「情報Ⅱ」教員研修用教材(本編):文部科学省”)
[第3章 情報とデータサイエンス 後半 (PDF:7.6MB) ](https://www.mext.go.jp/content/20200609-mxt_jogai01-000007843_007.pdf “第3章 情報とデータサイエンス 後半 (PD
Django3チュートリアル準備
#Django3の環境構築をdockerで行う
##環境構築
[Django3.0の開発環境をDocker,Docker-compose,Poetryで作ってみた](https://qiita.com/k4ssyi/items/b8d1355fed43b526aee1)
上記の記事がシンプルで分かりやすかったので、参考にしました。
私の環境では下記のディレクトリー 構造となりました。
Makefileは私が作成したものです。
記事の最後に載せてあります。“`
.
├── Dockerfile
├── docker-compose.yml
├── Makefile
└── src
├── manage.py
├── project
├── pyproject.toml
└── poetry.lock
“`##git管理する
“`
//git config でユーザー名と設定
git config –global user.email “xxx.yyy@example”
git config –global user.name “
日本語を文節単位で分かち書きする【Python】【MeCab】
#はじめに
Pythonで、単語(品詞)の単位ではなく、文節単位で分かち書き(下記表の一番下の行)する関数をつくりました。|元文 |今日はよく寝ました|
|—|—|
|単語分かち書き|今日/は/よく/寝/まし/た|
|文節分かち書き|今日は/よく/寝ました|
#環境
– macOS Catalina 10.15.4
– python3.8.0下記を参考にMeCab、mecab-ipadic-neologd、mecab-python3をインストールしました。
https://qiita.com/taroc/items/b9afd914432da08dafc8下記を参考にpythonからimportするMeCabのデフォルト辞書をmecab-ipadic-neologdにしておきました。
https://qiita.com/shimajiroxyz/items/3b475da3b6cd850d2c22なお、設定が面倒な人は、mecab-ipadic-neologdではなく、初期インストール時の辞書を使ってもおおよそうまくいくと思います。ただし、サ変接続周りの処理の