Feの活動記

日々の思ったことや技術のことについて書いてます

【雑記】このブログの目標???

最初の記事 にも書いた?通りこのブログの目標は ・アウトプット量を多くする ・論理的に文を書ける ・面白い文を書ける です。

これからどのように記事を書いていくか

一応ですね「毎日500文字以上の投稿」を続けていきたいと思っていて記事を書き進めているんですけど、そうそうに1月4日ですかね?やらかしました。

投稿を忘れてしまいました笑

完全に三日坊主ですね笑

内容としては学んだ技術だったり、トライアスロンのことだったりを書いてきまーっす。今回みたいな雑記もたまにはありますけどねっ。

後最初に毎日とか言ったんですけど土日は休みにして「日曜日にこの一週間の記事の改善」をやりたいなと思っています。日曜日じゃなくても改善したいなって時はやりますけど日曜日は絶対みたいな。毎日書くのはドラフトだけど日曜日までに出来上がるのは人様にギリギリ見せられるレベルまでにはしておくみたいな制約をかけておこうとね。

そしてあれですね、「1日に複数回の投稿はしない」ですね。これは記事書きたいなと思ったことはその都度下書きとしてため込んでおいて投稿する日にブラッシュアップする形を取っていこうってな感じです。

今日はちょっとやる気になったので少しブラッシュアップをしておこうかな。とりあえず1年惰性でもいいので強い意志を持って続けていこうかなと思います〜。宜しく!

Gitのコミットメッセージを複数行書くやり方について

こんな初歩的なことを再び書くことになるとは思いませんでした。

ネタ不足です。

今回は「gitのコミットメッセージを複数書くやり方について」です。

エディタでコミットメッセージを書く場合

git config --global core.editor  "エディタ名"

エディタ名は自分が使用したいエディタ名を書けば大丈夫です。 ただし、エディタ名のPATHが登録されていないと使えないのでPATHは通しておいてください。

git config core.editor

あとは上のコマンドで確かめてgitで使うエディタの設定は完了です。 そして、

git commit

と書くと設定したエディタが開いてコミットメッセージが書けると思います。

ターミナルでコミットメッセージを書く場合

いつも

git commit -m "コミットメッセージ"

とうっている人が大多数だと思いますが

git commit -m "コミットメッセージ1" -m "コミットメッセージ2"

とうつと改行できるようです。 しかもコミットメッセージ1とコミットメッセージ2の間には1行間隔が開くみたいでみやすくなりますね!

コミットメッセージの書き方としては、 1行目:要約(コミットのタイトル) 2行目:空行 3行目以降:詳細 という書き方がわかりやすくて良いみたいですね!

参考:いちばんやさしいGit&GitHubの教本

【データ分析】特徴量抽出と特徴量選択

今回は「特徴量抽出」と「特徴量選択」の2つについて説明していきたいと思います。

 

詳しくは2つについて「内容」、「何が嬉しいか」について説明します。

 

まずその前に特徴量とは

 

特徴量とはデータを特徴付けるもの(身長や体重など)を数値などで表現したものです。

 

特徴量抽出とは

 

特徴量抽出とは生データの特徴量から新しく特徴量を作成することです。

 

目的は機械学習モデルの予測精度などを改善することにあります。

 

特徴量抽出の代表的な例でいうと体重÷身長^2で表されるBMI(体格指標: Body Mass Index)があります。

 

特徴量選択について

 

特徴量選択は大きく分けて3つの方法があります。

 

  1. Filter Method
  2. Wrapper Method
  3. Embedded Method

があります。

 

Filter Method

データセットのみで完結する手法。しかし、データに依存する。どの機械学習モデルにも有効で処理が早い。

各変数に、

評価指標にしたがって、特徴量を1つ1つランク付けする

上位のランクの特徴量を選択する

  • カイ2乗スコア
  • フィッシャーのスコア
  • anova
  • 変数の分散

Wrapper Method

 

参考

特徴量選択のまとめ - Qiita

 

【データ分析】特徴量とファイルの管理

めちゃ良い記事を見つけました。

自分もデータ分析コンペで悩んでたこともありすごく参考になりました(大学での研究もこうなりがちだったので助かる...!)

データ分析コンペで役に立つ特徴量管理方法と学習・推論パイプライン【コネヒトマルシェLT書き起こし】

まとめると...

  1. 特徴量は列ごと(変数1つ1つ)にpickleファイル(.pkl)で管理しよう!
  2. 特徴量詳細メモ作成の.pyファイルで特徴量のメモ(.csv)を作成しよう!(githubにあげると表がみやすい!)
  3. 新しい特徴量も特徴量詳細メモ作成の.pyファイルに書き込むだけ
  4. 一部だけ使用したいときは使用したい特徴量をread_pickleで読み込むだけ

メリット(何が嬉しかったか) * 1つのスクリプトファイル(.py)に特徴量作成をまとめたので同じ計算を複数回せずにすんだ! →特徴量の再現性も担保 * 特徴量を作成と同時にメモも作成していたのですぐ確認できて悩まずにすんだ! →コードを見直すという凡雑な作業から抜け出せる * 特徴量1つ1つ管理していたので取り回しが楽! →pickleファイルは保存も読み込みも早い

pickleファイルとは??

オブジェクトを保存できるファイル形式のことです。

pickleで保存するものは変数や配列が一般的ですがクラスでインスタンス化されたものも含みます。

またファイルデータの管理も可能です。

参考

開発効率をあげる!Pythonでpickleを使う方法【初心者向け】 | TechAcademyマガジン

データ分析コンペで役に立つ特徴量管理方法と学習・推論パイプライン【コネヒトマルシェLT書き起こし】 - コネヒト開発者ブログ

あけましておめでとうございます

技術ブログ

新年あけましておめでとうございます。

今年から毎日投稿を初めてみたいと思います。

文字数としては500字をノルマとして書いていけたらなと思っています。

内容は運動(ランやトライアスロンについて)、データ分析、それにまつわる勉強を上げていきます。

自分の文章力の改善と技術のアウトプットをこのブログの目的として上げています。

ブログに慣れてくるまでは堅苦しい文章でネタや面白味が微塵もないかもしれませんがそこは多めにみてくだされば幸いです。

500文字って意外に長いですね...

ここまで書くだけでもかなり辛いです笑

今現在していることはせっかくgarminを買ってデータを蓄積し続けてきたのでこのデータを用いてデータ分析をしています。

文字数も余っているのでどこまでしたかも書きますね

garminのアクティビティのページからjavascriptコンソールを用いてgpxデータをスクレイピング ・colaboratoryでgpxデータを読み込みfoliumで可視化 ・どんなことをしたいか考える ←now

かっこいい地図でカッコよく表示させたいんですけど良いAPIないですかね...?

動画っぽくも出したいんですけどこれはpythonとかじゃなく何か違うサービスの方が良いのか...?

もしかしたらUnityとか使ってできたりしないかな??

Unity関連では詳しい友達がいるので聞いてみようと思います。

以上です。

また明日もよろしくね!

【GitHub】共同作業について

GitHubを用いて友達と作業するのが初めてだったので備忘録として記しておきます。
バリバリの初心者なので間違った点、こうした方が良いという点は是非教えてくださればと思います!
ですので、これをまんま参考にするのは危険が伴うので十分承知しておいてください...!

はじめに

参考サイト:remote add
1.共同作業相手のGitHub(作業相手のGitHubアカウント名/リポジトリ名)をフォーク
2.フォークしたのち自分のGitHubに(自分のGitHubアカウント名/リポジトリ名)が出来上がるのでそれをローカル(自分のパソコン側)にクローン(同じものを複製)
クローンする場所にあらかじめに移動しておいて以下のコマンド

〜
git clone  https://github.com/自分のGitHubアカウント名/リポジトリ名.git
〜

3.リモートリポジトリ(例えばGitHub上にあるリポジトリ)を追加する
git remote add 追加するリモートリポジトリ名 https://github.com/追加するリモートリポジトリ名
私は
upstream : フォーク元のリモートリポジトリ
origin : フォークしてきた自分のリモートリポジトリ

〜
git remote add origin https://github.com/自分のGitHubアカウント名/リポジトリ名.git
git remote add upstream https://github.com/作業相手のGitHubアカウント名/リポジトリ名.git
〜

リモートリポジトリの変更点のコミットの仕方

参考サイト:git基本操作
git add
1.ローカルリポジトリの変更点を確認

〜
git status
〜

2.コミット対象となるインデックスに追加

〜
git add 変更したファイル(*.pyなどで全ての.pyファイルを指定できる)
〜

3.

〜
git commit -m "変更した内容などをコメントとしてここに記述"
〜

4.originのmasterブランチにプッシュ(変更を追加)

〜
git push origin master
〜

リモートリポジトリの変更点を持ってくる

1.リモートリポジトリのmasterブランチの変更点をpull

〜
git pull upstream master
〜

その他参考サイト
リポジトリの取得

kawaii project in Unity

連続の投稿です。

Feです。

 

前回に引き続き、

ハッカソンでの作業内容についての備忘録(ほぼ日記)を書いていきたいと思います。

 

4月29日の作業内容

昨日まで色々と学校の課題や何やらで忙しかったので、

あまりハッカソンの内容に手をつけられていなかったのですが

昨日ようやく作業に取りかかることができました...

 

全く何やっているんだか...

 

作業内容

開発環境

python 3.7.4

atom(pycharmでやろうかな)

firebase(cloud firestore)

 

 

昨日やり終えた内容は以下の通りです!

・discordのサーバーたて、chatbot作成

・discordのコメントをcloud firestore(firebase)に登録

・discordでコメントを消したらcloud firestoreでもコメントを削除

 

これからやらなければいけない作業は、

・discordでコメントの編集があったらcloud firestoreの該当コメントも編集

・cloud firestoreで登録したコメントを逐一unityに持ってくる

・コードをもっとわかりやすく書き直す

ですかね

 

作業手順

まずdiscordについてですね

Discord Botアカウント初期設定ガイド for Developer - Qiita

Pythonで実用Discord Bot(discordpy解説) - Qiita

APIリファレンス — discord.py 1.4.0a ドキュメント

の順で参考にさせてもらいました!

とても丁寧でわかりやすく、botを作成するまでは

1時間ほどで全ての作業が終わりました

 

次にfirebaseについてなのですが

pythonでfirebaseの設定をする手始めとして

とりあえずPythonでFireBase Cloud Firestoreを使ってみる - Qiita

その次の内容として

Cloud Firestore を使ってみる  |  Firebase

データの追加について

Cloud Firestore にデータを追加する  |  Firebase

データの取得について

Cloud Firestore でデータを取得する  |  Firebase

cloud firestoreの各操作の概要を

Firebase: Cloud Firestore と Cloud Storage をPythonから使う - Qiita

コレクション→ドキュメント→フィールドを取ってくる際の参考として

Python3.7でCloud Firestoreを操作する | nansystem

Realtime databaseとcloud firestoreとの違いはこちらです。

 

ちゃんとした開発経験があるわけでも無いので、

自分で解説するのも痴がましいと思い参考にしたリンクを羅列しました。

全て終わったら作業内容を簡潔にまとめてブログに掲載してみたいですね!