忍者ブログ

いけいけ機械学習

統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

R RStudioを学ぶ

インストール

windows11です。

1. 次のURLからR-4.5.1 for Windowsをダウンロード

https://cran.rstudio.com/

2.ダウンロードした

R-4.5.1-win.exe

を実行。

すべてデフォルトでインストール


R Studioのインストール

1.次のURLから、インストーラーをダウンロード

https://posit.co/download/rstudio-desktop/

2.ダウンロードした

RStudio-2025.05.1-513.exe 

を実行。

3. スタートメニュから、R Studioを起動できたので、

動いているのでしょう。

R コメント

1.文法

#で始まる行がコメントです。

2.サンプル

次のようなファイルを作成します。
#ここは、コメントです

a<- 1
print(a)

3.実行結果

R Guiで、上のファイルを読み込んで実行すると

1

が表示されました。




PR
print(a)

3.実行結果

R Guiで、上のファイルを読み込んで実行すると

1

が表示されました。




PR
" dc:identifier="http://learnms.blog.shinobi.jp/Entry/38/" /> -->

精度、再現率、F値

1.はじめに


検索結果や機械学習の結果、正しいものを、正しいと評価しているか。

間違ったものを、間違っていると評価しているか、を評価する。

(1)true positive (TP)

    正しいものを、正しいと評価している

(2)false negative(FN)


   間違ったものを、正しいと評価している

(3)false positive(FP)

 

   正しいものを、間違ったと評価している

(4)true negative(TN)


   間違ったものを、間違ったと評価している


2. 正解率

Accuracy =  ( TP + TN )  /  ( TP + FN+FP+TN )


分子は、正しいもの、分母は、全部です。

3.精度(適合率)


Precision =  TP / (TP + FP)

正しいものと判断したもののうち、どれだけが、正しかったか。

4. 再現率


Recall = TP / (TP + FN)


正しいもののうち、どれだけ正しいと判断したか。

5.F値

一般に、精度と再現率は、一方を上げると、一方は、下がる傾向にある。


そのため、精度と再現率の調和平均 F値 を評価に用いることもある。


F 値 =  2*Precision*Recall / (Precision + Recall )







Bad Smell Detection using Google Gemini

公開されている

Bad Smell Detection using Google Gemini

のキモ部分を読んで勉強してみたいと思います。

概要

Code Smellを発見することは、ソフトウェアエンジニアリングの

重要な作業である。デザインの問題を発見し、コードの品質や保守性を

向上させる。

Google GeminiのようなLLMを利用すれば、もっと効果的に、自動的に

Code Smellを発見することができる。

この論文は、Javaプロジェクトにおいて、Code Smellを特定する

Geminiの有効性を検証するもの。

MLCQデータセットを用いて、4つのタイプのCode Smell

(Blob、Data Class、Feature Envy、Long Metthod)を、

3つの深刻度のレベルに分けた。

そして、

・一般的なプロンプト

・詳しいプロンプト

を与えた。

結論としては、詳しいプロンプトを与えた方が、

一般的なプロンプトより、正確な結果を返すことが多かった。

Geminiは、Chart-GPTに比較し、特定のCode Smellを発見できなかた。

これらの結果には、追加の検証が必要である。

Google Geminiは、Code Smellの発見に有用なツールではあるが、

正確性やプロンプトの影響については、さらなる研究が必要である。


概要

目的は、LLMを利用して、code smellを発見すること。

Gemini 1.5 Proを用いて、Java プロジェクトのcode smellが発見できるかを

評価した。

MLCQというcode smellのデータベースを利用した。

これには、GitHubリポジトリーにある 14,739のcode smellが含まれる。

次の4つのタイプのcode smellを対象とした。

1. Blob

classが巨大で、複雑である。複数の責務を担っており、

クラスを分割すべきものである。

2.Data Class

データを格納するだめのクラスで、重要な機能を、

持っていない。

3.Feature Envy

クラスが、別のクラスのデータやメソッドに過剰にアクセスする。

4.Log method

methodが長くて、複雑である。


リサーチクエスチョンは、以下である。

RQ1:一般的なプロンプトを利用することで、

Geminiは、code smellを特定できるか?




-- つづきます。--