駆け出しエンジニアの作業ノート

駆け出しエンジニアが作業ノート風にまとめるページ(関係無い事もしばしば)

Python

Githubへの公開と理想型

技術書典に出す本のソースコードをGithubに上げました。 github.com さて、GitHubに上げてトップ画面に遷移したところ以下のリポジトリがおすすめに上がってきました。 github.com これを使うとSpotifyやGoogle musicなどが1つの画面で再生出来るというもの…

networkxで最長片道切符のルートを算出しようとするが…

今回は、networkxというライブラリを使って最長片道切符を出そうとしたという記事です。以前使用したGraphillionでは、容量が大きすぎて計算が不能となるケースがありました。そこで、今回はnetworkxというライブラリを使って計算を実行してみました。コード…

Graphillionを使って最長片道切符のルートを算出する

※ 最新の算出プログラムは以下をご参照ください psyduck-take-it-easy.hatenablog.com だいぶ間隔が空いてしまいましたが皆さんはお元気でしょうか? さて、皆さんが長距離を移動する際にJRを使う方が多いと思います。JRで移動する際にはみどりの窓口や指定…

FlaskでWebアプリを作る

お久しぶりです。だいぶ、日が空いてしまいましたが、相変わらず開発を続けています。 さて、GUIやクロスプラットプラットでのリリースを考えていましたが、自分自身の実力も踏まえWebアプリでのリリースとしました。 Webアプリにするにあたり、CUIより変更…

「tkinter」を使ってみる

早速、以下のようなものを書いてみました。 import tkinter as tkdef clicked(): print("clicked")def setting(): root.title("初期設定") root.geometry() button1_0 = tk.Button(root, text="Spotifyアカウント連携") button1_0.pack()def menu(root): roo…

SpotifyとGoogleの両方でプレイリストを自動生成する

間隔が空いてしまいましたが、プレイリスト自動生成ツールについては相変わらず開発を続けています。 psyduck-take-it-easy.hatenablog.com psyduck-take-it-easy.hatenablog.com psyduck-take-it-easy.hatenablog.com 今回の更新で大きなトピックとしては、…

日本語表記とローマ字表記の変換が難しい

SpotifyのAPIを叩いて曲を取得していますが、返ってくるレスポンスにクセがありました。アーティスト名は英語で返ってきており、曲名は日本語で返ってきているのです。 問答無用で最初に上がってきた曲を入れれば良いという案もありますが、これでは、配信し…

仕様変更とリファクタリングをしました

仕様を大きく変更しました。前のコードではlast.fmのAPIのデータを収録したDBを経由していましたが、メンテナンスコストが負担になっていたので、DBを経由せずにAPIを直接参照するように切り替えました。 また、API参照の部分をべた書きすると、今度は本体部…

Last.fmのデータを使って、Spotifyのプレイリストを作成するモジュールが出来た

Last.fmという音楽系のAPIがあります。オライリーの本で「Audioscrobbler」として紹介されているものです。このデータを用いてSpotifyのプレイリストを作成するモジュールが完成しました。 import psycopg2import psycopg2.extrasimport spotipyimport spoti…

コードを一部修正しました

以前作ったモジュールに一部不具合が生じていたので修正しました。最も、冗長化しているのでそれを根本的に直さないといけないのですが… github.com 動かす順番ですが、まず「user_get_recent_tracks.py」を動かし、DBに未収録の聴取楽曲を一時保管用のテー…

Word2Vecでプレイリスト生成してみる実験の続き

前回、一定の成果があると見込めたので今回はデータ量を増やしてやってみました。 psyduck-take-it-easy.hatenablog.com psyduck-take-it-easy.hatenablog.compsyduck-take-it-easy.hatenablog.com import timeimport psycopg2import psycopg2.extrasimport …

第25回 Pythonもくもく会に行ってきました

2月24日に「第25回 Pythonもくもく会」に行ってきました。 mokupy.connpass.com 1回参加申し込みをしたのですが、都合が付かなくなったので、今回初めて参加しました。名前とする事をホワイトボードに記載して、自己紹介する形式でスタートしました。Python…

プレイリスト生成の検証終了

コードのtry文を移動させたところ、きちんと動作して最後までたどり着いたので記載させて頂きます。 import psycopg2import psycopg2.extrasfrom gensim.models import word2vechost_name = port_number =dbname = rolename = passwd = def track_search(): …

Word2Vecを用いたプレイリスト生成の結果報告

Word2Vecを用いたプレイリスト学習の結果が出たのでご報告します。検証用に、以下のコードを書きました。 import psycopg2import psycopg2.extrasfrom gensim.models import word2vechost_name = port_number = dbname = rolename = passwd =def track_searc…

Word2Vecを使ったプレイリスト生成実験

少し日が空いてしまいましたが、学習は継続しています。プレイリスト生成についてですが、Word2Vecを用いたモデル構築を行うことにしました。 文章の分かち書きの手法を応用し、Last.fmの書式にならい「アーティスト名 - 曲名」を単語とし、Last.fmの類似度…

協調フィルタリングの勉強

本日は協調フィルタリングの勉強を兼ねて、以下の記事のコードを再現実験を行いました。 qiita.com ただし、エラーが発生したので、「similarity.py」と「recommend.py」は一部を書き換えて実行しました。 # similarity.pyimport mathimport datasetdef get_…

形態素数え上げプログラムの修正

前に書いた記事に載せた、形態素ごとに数え上げるプログラムが早速動かなくなったので、修正します。 psyduck-take-it-easy.hatenablog.com import MeCabimport ioimport pandasdef text_analysis(): text = "" m = MeCab.Tagger("-Ochasen -u /usr/local/li…

Word2Vecによるモデル構築実験

機械学習の第一歩として、Word2Vecによるモデル構築実験を行うことにしました。 既にWikipediaを使ったモデル構築例があるので、違う物を使うことにしました。対象はずばり、このブログの本文。 もちろん、膨大なデータ量が無いと正確性が出ないのは百も承知…