終わりなき旅~自律神経失調症と生きる~

自立神経失調症と生きるミスチル好きの普通のサラリーマン。雑記ブログ

【超簡単】短距離走のスピード曲線を作成するアプリ

スマホ動画から簡単にスピード解析!

短距離ランナーのスピードをビジュアル化してみませんか?今回紹介するプログラムを使えば、スピード曲線を作成し、走行データを直感的に解析できます。

スタートから加速していく様子を捉えることで、自分の加速状態を簡単に知ることができます。

なぜ、こんなものを作ったかというと、娘の短距離向上のために加速状態を簡単に測れないかなと思ったところからスタートしました。短距離の加速状態を測定しようと思うと、いくつもの機材を等間隔において、区間ごとのタイムをセンサにより測定をする必要があるなど、かなり大掛かりになります。普通の人が簡単に自分の加速スピードを測定しようと思ったら簡単にはいきません。なので、それを簡単にスマホの動画から測定できたらいいなぁなんて思い、解析ソフトを作ってみることにしました。

いつものようにPythonを用いてますが、今回は、かなり楽に作ることができました。Copilotと共同作成しました。

スマホの動画から簡単にスピード曲線を描くことができるプログラムです。

主な特徴

  • 動画からランナーの動きをトラッキングし、スピード曲線を自動生成!

  • 距離や速度の補正機能付き。特に、短距離走のような高速な動きの解析に対応。

  • 出力データをExcelで簡単に整理し、グラフとして視覚化可能。

使用方法

・アプリをダウンロードする(保存場所は任意)

drive.google.com

分析したい動画を用意する。

スマホの動画でOK。(mp4ファイル)。カメラは固定して撮影してください。

長めの距離を計測したい場合100mとかだと、かなり遠いところから全体を撮影するような感じが良いと思います。テスト動画は、10m走の動画をサンプルとして例にとりたいと思います。できれば真横から撮影が良いです。走る人の進行方向に対して、カメラは、垂直方向から撮影が一番誤差が小さくなります。同じ条件で、測定すれば、絶対的な加速度は精度は低いかもしれませんが、自分の走り方の変化は捉えられると思います。どう走ったらより速く加速するかなど研究できるといいなと思います。

真横から撮影するイメージ

真上から見た撮影時の位置イメージ

走る方向に対して、垂直でない位置から撮影すると、誤差が大きくなります。(上の図の×と印がある角度はNGです。〇の位置が良い)

 

今回サンプルにした動画


www.youtube.com

exeファイルを実行する。

下記GUIがでてくるので、解析したい動画ファイルを「参照」ボタンを押して選択する。その後実行ボタンを押すと、保存先を指定する画面になるので、任意の場所を指定する。

 

GUIが出てくる

パラメータ入力が画面

パラメータの入力

コマンドプロンプト画面がでてくるので、

そこに必要な情報を入力する。

・スタート時間:速度解析したい動画のはじめの時間を指定。

→今回の動画では、10秒と入力。

 

・ゴール時間:速度解析したい動画の終わりの時間を指定。

→今回の動画では、13秒と入力。

 

・ランナーの身長を入力してください

→1.5メートル(150cm)と入力。

 

・ゴール地点までの距離を入力

→動作開始時刻(測定開始)と終了時刻(測定終了)の間に実際動いた距離を入力。この数値が正確にわかっている場合は、より速度が正確に出力されます(補正後データ)。

 

・サンプリング周波数の入力

速度を測定する間隔です。画面に結果を表示する時間間隔の指定なので、適当でよいです。エクセル上には、カメラで作成された動画の情報をすべてデータとして出力されます。

 

ランナーの範囲指定

・速度を測りたいランナーをドラッグで指定。

→ランナーをカーソルで指定したサイズです。そのサイズから画像の実サイズを予測し、移動した距離と時間からおおよその速度を自動計算します(補正前データ)。

カーソル指定

 

測定時の様子

数値のグラフ化

エクセルに出力されたデータをグラフ化します。

ここまで自動化すれば良かったですが、好みもあるし、数値の出力のみにしました。

今回は、この動画の2人の解析を行ってグラフ化してみました。

 

補正前データ:カーソルサイズからゴールまでの距離を推測し、人が動くのにかかる時間をトラッキングして、速度計算(身長入力で推測)

→スタートからゴールの距離がわからないのであればこちらのデータをグラフ化。

画像上のカーソルサイズが実際いくつかをできるだけ正確に入れる必要あり。

 

補正後データ:スタートからゴールの距離がわかっているなら、そこの情報と、人が動くのにかかる時間を用いて速度計算。

→距離が正確にわかるなら、こっちのデータでグラフ化するのがより正確になる。

エクセルでグラフ化

特に短距離競技では、わずかなスピードの変化が大きな差を生むことがあります。本プログラムを活用して、スピード曲線をより正確に可視化し、トレーニングなどに使えるといいなと思います。

 

別の動画から、作成したグラフも載せます。

これは、走る方向の真横から撮った動画から作成しました。かなりデータが安定して、速度曲線を比較できました。

テスト比較

Coplilotでやりとりしながら、こんなプログラムも簡単に作れてしまうなんて、本当に便利になったなと感じました。コードを書く力より、AIにうまく指示をだす力をつけることが、今後必要になるスキルの1つかもしれません。

 

娘のトレーニングにどこまで活用できるかわかりませんが、しばらく使ってみようと思います!いつのまにか、このアプリを作ることに夢中になって楽しんでしまいました。

 

【超簡単】ヤフーのコメントをダウンロードして、エクセルにまとめるアプリ

おわりんです。

お久しぶりです。

 

今日は、ヤフーのコメントを簡単にダウンロードしてエクセルにまとめるアプリを作ったので、それを紹介します。

 

インターネット上で情報収集をしていると、ヤフーニュースのコメント欄には貴重な意見や議論が詰まっています。しかし、後でじっくり分析したいと思っても、コメントを手動で保存するのは非常に面倒です。そんな悩みを解決するために、今回、ヤフーのコメントを簡単にダウンロードできるアプリを作りました!

このソフトの特徴

  • 簡単操作: ワンクリックでコメントを一括取得

  • 整理しやすい: エクセルファイルで保存可能

  • 評価が見やすい:共感した、なるほど、うーんの評価も一目瞭然
  • 高速ダウンロード: 大量のコメントもスムーズに取得

こんな方におすすめ

  • ヤフーのコメントを分析したい研究者やブロガー

  • 気になるコメントを後で読み返したい方

  • 議論の記録を残しておきたい方

ダウンロードリンク

yahoo_comment - Google ドライブ

 

※ダウンロードできないとき(ワードクラウドを作成できるアプリの記事を参考)

owarinaki-tabi.com

使用手順

ダウンロードしたら、左の「yahoocomment」アイコンをダブルクリック。右のGUIがでてくるので、テキストボックスの中にヤフーをダウンロードしたいサイトのURLをコピー&ペーストする。

 

URLの記入例:アドレスの最後の「/comments」よりも手前の部分をコピーしてペーストしてください。(緑字部分をテキストボックスに入れる)

https://news.yahoo.co.jp/articles/39763241f6dcbd17276cf2af70cba31748f9c9a3/comments」

 

また、コメントをページ数をどのくらいダウンロードしたいか記入する。デフォルトは、「5」の数字が入力されています。5ページ分(つまり50件)のコメントをダウンロードしてくれます。ダウンロードしたいコメントが1500件とかであれば、150と数字を入れればOKです。2000件くらいのコメントも試しましたが、あっという間に保存してくれます。自分でいうのもあれですが、けっこう便利だなと思いました。

 

そのあと「実行ボタン」を押す。

 

保存場所を選択する画面がでてくるので、保存したいフォルダなどを選択する。

「終わりました」と表示されたら、保存を指定した場所に「output」という名前のエクセルファイルが出力される。

出力されたoutputファイル

サンプルコード(jupyter notebook)

yahoocomment_download

 

【超簡単】amazonの口コミをエクセルで出力するアプリ

おわりんです。

 

最近pythonを使ってスクレピングの勉強をしたいと思っていました。

なので、さっそく練習として、amazonの口コミ情報をダウンロードし、エクセルに出力するということにチャレンジしました。ネットで検索すると、多くのサンプルコートあったので、それを参考にして、自分なりに作ってみました。

 

スクレピングは、注意点があり、対象のサイトに負荷をかけてしまうので、禁止されているところもあるようです。負荷がかからないように、待ち時間をプログラムに入れています。

参考にしたサイト

qiita.com

www.kamesuke-blog.com

self-development.info

作成したサンプルコードの動作環境

OS:Windows 11 HOME

言語:Python 3.11.1

ツール:

・selenium 4.24.0(chromedriverを使用)

・beautifulsoup4  4.12.3

エディタ:Jupyter notebook

ブラウザ:GoogleChrome(128.0.6613.138)

※アプリを使う場合、GoogleChromeをインストールしておく必要あります。その他は、特にインストールしなくても実行ファイルアプリは動くと思います。

support.google.com

 

実行ファイルアプリダウンロード(使い方)

ダウンロードリンク

amazon_review - Google ドライブ

※ダウンロードできないとき(ワードクラウドを作成できるアプリの記事を参考)

ダウンロード手順

owarinaki-tabi.com

使用手順

ダウンロードしたら、左の「amazon_review」をダブルクリック。右のGUIがでてくるので、テキストボックスの中に口コミをダウンロードしたいサイトのURLをコピー&ペーストする。そのあと「実行ボタン」を押す。

実行

商品サイトのURLをテキストボックスに張り付ける(一例)

https://www.amazon.co.jp/3%E9%9A%8E%E6%AE%B5TURBO%E9%80%9F%E5%BA%A6-Bluetooth%E6%8E%A5%E7%B6%9A-9%E8%89%B2RGB%E3%83%A9%E3%82%A4%E3%83%88-1000mAh%E5%A4%A7%E5%AE%B9%E9%87%8F-6%E8%BB%B8%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E6%90%AD%E8%BC%89/dp/B0CCKRXXLD/ref=sr_1_1_sspa?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=11NN7BHI1B0UL&dib=eyJ2IjoiMSJ9.T3SJeimWd5cQZPA6W48ZLFWwHUtE1KoTiqzB9efbeO9T8nlmIt7vv_ffwj-8POyfCZyuxeCsyE8-1bfADdExC_wXfHdnKSWTZ-lsMjn4lWnYOIqg94-rtCcs0TXRYMjF0QauB0raCgJ_fd3B0Llx8uXC3TlCQGFscIJfQzwIdkC7P-jwcrC2EHdX1dFGDbVOOcn-izxhe3cb4FbIsHZMtv5qyfWzXqzQImnBYMrWVF93lfaP4Xlk9wPRgNqhsHAa_Nrc-YkzwZgyK2cO1Q-_rh46VlkNIku-ytcFejy8tNE.DbsE4Za1gWVS-QWOVWtc7nEnYtAdSgCBNTNNoWLPDYA&dib_tag=se&keywords=Switch+%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC+%E8%87%AA%E5%8B%95%E9%80%A3%E5%B0%84%E6%A9%9F%E8%83%BD+%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81+%E3%82%B3%E3%83%B3&qid=1727013850&sprefix=switch+%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC+%E8%87%AA%E5%8B%95%E9%80%A3%E5%B0%84%E6%A9%9F%E8%83%BD+%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81+%E3%82%B3%E3%83%B3%2Caps%2C185&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1

 

保存場所を選択すると、ソフトが動き出します。「終わりました」と表示されたらエクセルファイルが出力されます。

 

下記のように口コミ情報をダウンロードした商品がエクセルのファイル名となりフォルダの中にできあがります。

 

エクセルファイルが出力される

ファイルの中身

amazonの口コミ件数が多数あっても100件までしかできませんでした。

追記24/9/23:時点では、50件になってました

追記24/10/6:また100件できました。どうやら時間帯などでも、取得できるデータの数が変わるようです。

「次へ」ボタンがあるところで無くなってしまう(透明色になり押せなくなる)ので、サイトで「次へ」ボタンを押して確認できる分しかダウンロードできませんでした。きっと、制限をかけてるのだと思います。多くの人たちが、大量の情報をスクレピングしたら、ものすごい負荷になるから対策しているのだと思います。

でも、とても簡単にpythonを使うといろいろなことが素人でもできてしまいます。

応用すればいろいろなことを自動化して情報をとってくることも可能だと思いました。

 

個人的には、今回のアプリ作成でスクレイピングについてとても勉強できました。

サンプルコード(jupyter notebook)

正直動けばいいやという感じで、変数の名前が適当だったり、無駄のコードも多いと思いますが、ソースをのせておきます。参考にしてください。

必要な環境が構築できていれば、「jupyter notebook」にコピペで貼り付けて動くと思います。

【XGBoost】為替を予測するプログラムを作ってみました

おわりんです。

久しぶりの投稿になります。僕は、初心者ですがプログラムを書いて何かを動かすことが好きです。今回は、機械学習を勉強したいと思って何をしようかなと思ったのですが、どうせならと思い「為替を予測するプログラム」を書いてみました。

予測モデルの作成

為替を予測するためのモデルを作成し、そのモデルを用いて、現在の為替データから将来の為替を予測するプログラムを作ることにしました。(教師あり学習)

方法は、まずネットで、為替データを入手 → そこから特徴量を作成 → 20日後の為替データをxgboostを用いて学習させた。約30年分ほどのデータを学習して作りました。詳細は、後述しますが、ここではイメージだけ伝えました。

イメージ図

アルゴリズムxgboostについて(実装に使った言語はpython)

正直、プログラム経験初心者なため、あまり理論はわかっていません。なので、アルゴリズムの説明などは他の動画や、サイトを引用させて頂きました。


www.youtube.com

www.dskomei.com

何を予測するのか(目的変数:予測したい変数のこと)※イメージ図③

今回20日先の為替(終値)を予測することをしました。

何日先を予測するかは変数にしているので、調整可能です。

ネットで為替データを入手(1970年くらい~今)※イメージ図①

・始値、高値、安値、終値

ダウンロード先(csvファイルでまとめてダウンロードできるので便利なサイトです!

https://stooq.com/q/d/?s=usdjpy&c=0

 

特徴量に抽出(説明変数:目的変数を説明することができる変数のこと)※イメージ図②

始値、高値、安値、終値のデータから特徴量を作成する。

・移動平均線(長期、中期、短期)・・・始値、高値、安値、終値で全て計算

・ボリージャーバンド・・・±2σ、10日

・RSI(長期、短期)

・曜日(月~金)

などいろいろ学習させた。移動平均の期間などは、変数にして調整可能にした。

XGBooostが作る決定木モデルをGraphvizで可視化

決定木

決定木を可視化してみました。様々な特徴量からどのように分類しているのかが見えてきます。理解は全くできませんが。。こんなこともできるのですね。python便利です。いろいろパッケージ化されているので、そこまで知識がなくてもなんとなくできてしまうようです。機械学習というものが身近になってきていると感じます。

ドル為替データと予測値比較:左    特徴量の重要度:右

このモデルがどの程度なのか、しばらく将来の実績データとともにウォッチングしてみようと思います。

予測結果(2023/12/17時点の予測)

予測した結果から、ポジションをもって一週間後に売るということを繰り返していますが、今の所、トレンドは基本あっていて、ずっと利益がでています。

まだ1か月程度なので偶然の可能性が高いと思っていますが、なんかびっくりしてます。。

 

あまりよくわからず実装して作ってみたが、どのくらいの精度がでるか、もう少し売り買いを続けてみて様子をみようと思います。将来の為替を予想できたらいいのになぁ。

直近の予測結果

予測では、ドル/円は、このまま来年に向けても円高に向けて動くようです。

※あくまでも予測なので、一切責任は問いません。

基本どの通貨でもシミュレーションできるのですがとりあえずドルで様子見してみたいと思います。

過去の予測履歴

はたしてどうなるやら。。

※23/12/22時点の予測を追加

12/22に予測したデータと実績データ

※23/12/29時点の予測を追加

12/29に予測したデータと実績データ

※24/1/12時点の予測を追加(ここからモデル改変)

ある1日の為替データと特徴量から将来を予測していたが、1日→3日分の為替データから将来(2週間後)を予測するようにモデルに変えた。

24/1/12に予測したデータと実績データ

※24/1/28時点の予測を追加

24/1/28に予測したデータと実績データ

※24/2/2時点の予測を追加

24/2/2に予測したデータと実績データ

※24/2/11時点の予測を追加

24/2/9に予測したデータと実績データ

予測では今後152円まで上がっているが、そこまで上がるのかなぁ。

今の所、週単位のトレードではおおむね予測ついてるかも。。

レバレッジ低めて投資していますが、この3カ月+で予測できています。

※24/2/16時点の予測を追加

24/2/16に予測したデータと実績データ

どんどん上がるなぁ。。

※24/2/22時点の予測を追加

24/2/22に予測したデータと実績データ

※24/3/1時点の予測を追加

24/3/1に予測したデータと実績データ

※24/3/8時点の予測を追加

24/3/8に予測したデータと実績データ

 

※24/3/19時点の予測を追加

24/3/19に予測したデータと実績データ

※24/4/26時点の予測を追加

24/4/26に予測したデータと実績データ

過去にない円安が続いてます。学習データとしても150円付近のデータは少ないので予測もあてにならない状況です。為替介入や、金利政策など外部要因に大きく振れるので純粋に数値だけでは予測は難しいと言える状況だと思います。一旦この辺でウォッチングをやめようと思います。

【備忘録】TA-Libのインストール

 おわりんです。

今日は、いつもと違う視点で記事にしました。プログラミングの備忘録です。

はじめに

僕は、プログラミングの初心者ですが、時々「Python」を使いながら、自分で作りたいなと思ったアプリを作ったりしています。仕事とは全く関係なく、プログラミングすることもないので本当に初心者です。ただ単純に楽しくて、ネットサーフィンで学習しながら、時間を見つけてはプログラムで遊んでいます。何が楽しいのだろう?と考えるのですが、やっぱり自分一人でも、一応「形になる成果物」が産まれるところに興味があります。

世の中に何かたくさんのモノ(実体)を産み出そうとすると、多くの関係者の協力や、材料、お金(いわゆる人・もの・金)が必要で自分一人では、何もできないことばかりです。でも、アプリ作ることは、それが1人で完結します(簡易なアプリ)。しかも何個作っても材料費は0です。ただコピペするだけ。そして、誰かに届ける輸送費も0です。そんなところにも興味があり、また、自分で作ったものが動くのが楽しくて、続けている感じです、

もちろん大したソフトではなく、プログラミングができる人にとっては、「そんな当たり前のことやってなんの意味があるのか?」って言われちゃうと思います。

でもやっぱり、「自分で作る」ってところが楽しいみたいです。

 

1つの作品みたいな感覚でしょうか?ブログと似てる?

そしてそれが、たまたま誰かの役にたてるものができればなんて考えたりもします。

 

そこで、現在「Python」を使っているのですが、プログラムする以前にいろいろな壁にあたります。使いたいライブラリがインストールできないとか。。また、同じようなことをするときにとても役に立つので、そんなトラブルも備忘録としてブログに記録しておこうと思います。

TA-Libのインストール

TA-LIbって何?

簡単にテクニカル分析ができるライブラリです。これをインストールすれば、株価の分析とか簡単にできるようになります。ただ、ta-libをpipで、自分の作った仮想環境にインストールしようとすると、下記のようなエラーでまくりでした。

 

こんなエラーがたくさん

PCの環境

Windows11 HOME 22H2(64bit)

 

やったこと

①VisualStudiocommunity2022をインストール

visualstudio.microsoft.com

ta-lib-0.4.0-msvc.zipをダウンロードする。

pypi.org

③Cドライブの直下に解凍して配置。

④コマンドプロンプトからC:\ta-lib\c\make\cdr\win32\msvc配下に移動する

C:\ta-lib> cd C:\ta-lib\c\make\cdr\win32\msvc

⑤nmakeを実行する

C:\ta-lib\c\make\cdr\win32\msvc>nmake

⑥python仮想環境(インストールしたい環境)で下記コマンドでインストールする。

pip install TA-Lib

この手順でうまくインストールできました。こんな感じのグラフを簡単にかけるようになりました。計算したかったボリンジャーバンドの計算も一瞬でできました。

ドル為替分析

いろいろサイトみてやろうとしたのですが、どのサイトもダウンロードサイトのリンクが壊れていたので、試行錯誤してやっとできたという感じでした。

今は、ダウンロードサイトリンクが復活してたので、どのサイトを参考にしてもインストールできると思います。

参考

qiita.com

qiita.com

【超簡単】ネットワークグラフを作成できるアプリ

おわりんです。

 

今日は、pythonでネットワークグラフを作れるアプリを作ってみたのでそれを紹介します。私の記事では、プログラムソースの説明や、理論的仕組みについては、ほとんど触れません。プログラムが作りたいっていう人向けの記事ではなく、とにかく簡単にグラフを作成して成果物を作りたいっていう人向けの記事になります。アプリをダウンロードすれば誰も簡単にグラフ化できます。

ネットワークグラフとは

う~ん説明するとなるとなんか難しいのですが、様々な要素がどうのように繋がっているかを見えるようにするグラフだと思っています。イメージはこんなグラフを超簡単に作れるアプリを作ったのでそれを公開したいと思います。エクセルで簡単な表を作ってそれをグラフ化するといった感じでできます。

ネットワークグラフ1

ネットワークグラフ2

友達や組織の人の関係や、さまざまな事象と原因のつながりを見える化することが簡単にできたらなと思い、pythonを使ってアプリを作りました。ネットワークの中心人物は誰か?ネットワーク内のにはどんなグループがあるのか?ボトルネックになっている部分は何なのか。そんなことがグラフ化することで見えてきます。

 

pythonって本当に便利だなと思います。networkXというライブラリを使って簡単にグラフ化できます。ただ、プログラムから作成するといくら簡単とは言え、敷居があがってしまいなかなか手軽にはといかないと思います。なので、エクセルから簡単にグラフ化できるということなら直感的に誰でも使えるかなと思って、エクセルから作った表を簡単にネットワークグラフ化するアプリを作りました。

 

作成手順

作成手順を以下に説明します。

ファイルの準備

エクセルで下記のような表を作り、CSVファイルで保存します。(グラフ化の元データを作る)自分が、グラフ化したい要素関係をすべて記入する。大変かもしれませんけど直感的な作業なのでわかりやすいと思います。

グラフ化に必要な表を作成(CSVファイルで保存する)

target  :目的、得られる結果などの要素、人物などを記入。

sourse :targetに対して必要な要素、原因になっている事象、繋がりのある人間など

weight   :結びつきの強さ、重みづけ(node間の距離感が変化)

color      :線(edge)の色を指定できる(図では「r」=red 赤)

width     :線(edge)の太さを指定できる

 

NetworkkXには、グラフを自動決定する様々なアルゴリズムが用意されていますが、今回は、実際によく使われるspring layoutというアルゴリズムを使っています。

3pysci.com

色の指定に関しては、ここの記事を参照(色の一覧表があるので参考にしてください)。

owarinaki-tabi.com

 

ネットワークグラフ01をダウンロード

下記URLからダウンロードして、「network_graph_01」アイコンを実行する。exeファイルのため、インストールとか何もいりません。クリックするだけで実行できます。

network_graph_01



Pythonで作成しました。動作環境(Window11で動いています。その他でも動くと思うけれど、補償はできません。また悪意など全くありませんが、予期せぬ不具合などが起こりましたら自己責任でお願い致します。)

 

ここからアプリをダウンロード

https://drive.google.com/drive/folders/142xQg1K11ARccM2CH75cciXXEvuk4XwE?usp=sharing

 

ダウンロードできないとき(下記図どおりにやってみてください①から⑥)

ダウンロード手順

アプリを立ち上げる(ダブルクリックしてしばらく待つ)

立ち上げ時の入力画面(拡大)

ソフトのコマンドに必要な情報を記入

CSVファイル選択  :「ファイルの準備」で作成したCSVファイルを選択。

画像保存場所    :出力した「ネットワークグラフ」を保存したい場所を選択します。

seedの値      :任意の数字を入れる。数字によってグラフの形を変えられます。好みの形をさがせると思います。上段と下段のグラフでわけてます。上段は単純なネットワークグラフ。下段は、色ごとにグループ分けしたネットワークグラフと、矢印つきのグラフ。

 

nodeの色      :指定すると円の色を自由に変えることができます。

 

グループ分け色数指定:ネットワークの中から何個のグループにわけるか指定できます。グループ分けの色の種類は、変えれません。そこまでの仕様は今回作らなかった。

ネットワークの中から、どんなグループが存在するかが探索することができます。グループ分けの方法としては、ガーバンニューマンアルゴリズムを採用しました。アルゴリズムの詳細は下記リンクを見てください。

data-analysis-stats.jp

millionsmile.hatenablog.com

起点要素   :起点要素を指定します。ネットワーク階層がどこまであるか、起点要素からネットワークの深さを分析して、ファイルを出力します。

 

実行

ネットワークグラフ作成(実行ボタン)を押すと、ソフト右にネットワーク図が表示される。画像ファイルは指定したフォルダに出力されています。

実行時

また、CSVファイル中のweightの重みづけをいろいろ変えても形が変わっていくので試してみてください。ちなみに、weightの重みづけをすべて「0.0001」など限りなく0に近づけると円状の散らばっていきます。

重みづけを全て0に近づけた場合

 

 

 

 

保存したフォルダに分析結果も表示されます。「sample.txt」というファイルの中を開くと確認できます。

sample.txtの中身を表示

ネットワークグラフ基本用語

ネットワークグラフ基本用語

参考にした教材

ネットワークグラフを勉強したい方(初心者でもわかりやすい教材)

 

【超簡単】ワードクラウドを作成できるアプリ

おわりんです。

 

最近、「死ぬまでにやりたい100のリスト」を作りました。

作った理由については、また今度述べたいと思います。

 

今日、記事にしたかったことは、ワードクラウドを超簡単に、誰でも作れるアプリを作ったことです。自分がやりたいことをワードクラウドで可視化してみました。

どうやら、僕の頭は家族の事がとても多いことがわかりました。

 

ワードクラウドとは

文字の大きさや文字を色分けして、どんな言葉が多く使われているかを見える化したもの。こんな感じです!

ワードクラウド

活用例としては、TwitterなどSNSのデータを見える化ができ、瞬時に膨大な文字データを把握することができるものです。

 

作成手順

①エクセルファイルで表を作り、CSVファイルで保存。

1番上の行に項目を書いて、その下にやりたことなど好きなことを書く。CSVファイルで保存する。作成したアプリは、CSVファイルを読み込みようになっていて、2行目からの文字をグラフ化します。

例 100のやりたいことリスト(CSVファイルで作成する)

②wordcloud_02を実行する(exeファイルダウンロード)

下記URLからダウンロードして、「wordcloud_02」アイコンを実行する。exeファイルのため、インストールとか何もいりません。クリックするだけで実行できます。

 

Pythonで作成しました。動作環境(Window10で動いています。その他でも動くと思うけれど、補償はできません。また悪意など全くありませんが、予期せぬ不具合などが起こりましたら自己責任でお願い致します。)

ワードクラウド作成アプリ

ここからアプリをダウンロード↓

https://drive.google.com/drive/folders/1V4ydqxNTJQv2TTJjzU7-HGxpNViXQg9u?usp=sharing

 

ダウンロードできないとき(下記図を参照①から⑥の手順)

ダウンロード手順(ファイルは別だが方法は同じ)

※追記2022.12.4

Mecabという「形態素解析エンジン」がインストールされていないと、うまく実行できませんでした。「wordcloud_02」exe化ファイルにMecabの機能も入れたかったのですがうまく入ってませんでした。なので「wordcloud_02」を使う前にmecab-0.996-64(64bit版でない場合は、ネットで検索してください)をインストールしてください。上記URLに一緒に入れています。

 

③アプリが立ち上がる。

③立ち上げたときの画面

④赤枠の「参照」から、ワードクラウドにしたいCSVファイルを選択する。

④ワードクラウドにしたいCSVファイルを選択

 

⑤保存したい場所を選択

⑤保存したい場所を選択

⑥背景カラー、メインカラーの色を指定する。

とりあえずそのまま(背景カラー:black(黒)、メインカラー:prism(カラフル))で大丈夫です。お好みで下記カラーからそれぞれ、背景カラー、メインカラーを指定できます。

⑥色の指定

背景カラーはここから選択

メインカラーは、ここから選択

⑦ワードグラフ作成(実行ボタン)をクリック

出来上がったプレビュー画面が表示されます。ファイルは、「画像保存場所」に保存されています。これだけで、ワードクラウドができてます。とっても簡単。

※ボタン名が「ワードグラフ作成」になってますが、ワードクラウドです。訂正してません。。

⑦実行後

こんな感じのがいろいろ作れます。

ワードクラウド作成 例

⑧応用:マスク画像を使う

⑧赤枠にチェックを入れる

⑨マスク画像の選択と、色の指定

先ほどダウンロードしたファイルに「facemask.jpg」がありますので、そちらを選択してください。自分でマスク画像を作ればどんな形にもできます。また、マスク画像の輪郭カラーを背景とかぶらないように適切に指定してください。

その後、「ワードグラフ作成」ボタンを押せば、出来上がり。

⑨マスク画像の選択と、輪郭カラー指定
こんな感じのができます。

もっと、意味のない単語を削除したり、いろいろ機能を付けてもいいなと思いましたがこんなところで諦めました。ソフトの知識もほとんどないのですが、Pythonはを使うと簡単にアプリが作れます。便利ですね。ほんと素人のアプリなので、使ってみたら不具合多いと思いますがご了承ください。

 

今日は、やりたいことリストの可視化をしましたが、音楽の歌詞、大量の情報なんでもCSVファイルに貼り付けさえすれば作れちゃうので、使ってみてください。

 

自分のPC上で作成できる(ネットが繋がってなくて良い)ので、ウェブ上に文字情報が残ることや、公開されたりするようなことは一切ありません。

ソースコード