ollama pull gemma3:12b
Rから大規模言語モデル (LLM) を簡単に使えるようにするellmerパッケージを使ってみました。
準備
今回はOllamaからローカルLLMをつかうので、まずOllamaをインストールしておきます。
Ollamaがインストールできたら、ローカルLLMとして、gemma3:12bをインストールしておきます。シェルから以下のコマンドでインストールしました。
ellmerはCRANからインストールできます。
install.packages("ellmer")
用意ができたら、ellmerを読み込みます。
library(ellmer)
Ollamaを使います。
<- chat_ollama(model = "gemma3:12b") chat
実行
テキスト生成
まずは、Rを使った統計学の初心者向け講座の内容を考えてもらいました。
paste("Rを使った統計学の初心者向け講座の内容を考えてください。",
"内容は、記述統計から回帰分析とします。",
"所要時間は、90分×5回とします。") |>
$chat()
chat## ## Rを使った統計学初心者向け講座 (90分 x 5回)
##
## ### 講座の目標
##
## * Rの基本的な操作を習得し、統計分析の基礎を理解する。
## * データの可視化を通して、統計的な洞察を得る。
## * 記述統計、推測統計、そして回帰分析の基本を習得する。
## * 統計分析の結果を適切に解釈し、わかりやすく説明できるようになる。
##
## ### 対象者
##
## 統計学の知識が全くない、またはごくわずかしか持たない方。Rのプログラミング経験は不問。
##
## ### 使用教材
##
## * R (無料)
## * RStudio (無料)
## * 講義資料 (PDF形式等)
## * 演習データセット
##
## ### 講座内容 (各回90分)
##
## **第1回: RとRStudioの導入とデータ操作の基礎 (90分)**
##
## * **イントロダクション (10分):** 統計学とは何か、なぜRを使うのか、講座の概要説明
## * **RとRStudioのインストールと設定 (20分):** RとRStudioのダウンロード、インストール、簡単な設定
## * **Rの基本的な操作 (30分):**
## * 基本的なデータ型 (数値、文字列、論理値)
## * 変数、演算子、関数
## * オブジェクトの作成と操作
## * ヘルプ機能の使い方
## * **データの取り扱い (30分):**
## * データの読み込み (CSV, Excel, TXTファイル)
## * データフレームの操作 (データの選択、追加、削除)
## * 基本的なデータ確認 (データの概要、型、欠損値)
## * 演習: 簡単なデータセットの読み込みと概要確認
##
## **第2回: 記述統計とデータの可視化 (90分)**
##
## * **復習と質疑応答 (15分):** 前回の内容の復習、質疑応答
## * **記述統計の概要 (20分):**
## * 中心傾向 (平均値、中央値、最頻値)
## * 散らばり具合 (分散、標準偏差、範囲)
## * 分布 (ヒストグラム、箱ひげ図)
## * **Rによる記述統計の計算 (30分):**
## * `mean()`, `median()`, `sd()`, `var()`, `range()`などの基本的な関数
## * `summary()`関数による記述統計の一括計算
## * **データの可視化 (25分):**
## * `hist()`, `boxplot()`, `plot()`などの基本的な関数
## * グラフのカスタマイズ (軸ラベル、タイトル、色)
## * 演習:データセットを用いて記述統計量計算とヒストグラム、箱ひげ図の作成
##
## **第3回: 推測統計 (90分)**
##
## * **復習と質疑応答 (15分):** 前回の内容の復習、質疑応答
## * **推測統計の概要 (20分):**
## * 母集団と標本
## * 推定値と信頼区間
## * 仮説検定 (p値、有意水準)
## * **Rによる推定値と信頼区間の計算 (30分):**
## * `t.test()`関数によるt検定
## * 信頼区間の構築
## * **Rによる仮説検定の実施 (25分):**
## * `t.test()`関数のオプション
## * 結果の解釈
## * 演習:標本データに基づいた信頼区間の計算と仮説検定の実行
##
## **第4回: 単回帰分析 (90分)**
##
## * **復習と質疑応答 (15分):** 前回の内容の復習、質疑応答
## * **単回帰分析の概要 (20分):**
## * 回帰モデルとは何か
## * 独立変数と従属変数
## * 最小二乗法
## * 回帰係数の解釈
## * 決定係数 (R2)
## * **Rによる単回帰分析の実施 (30分):**
## * `lm()`関数による回帰モデルの作成
## * `summary()`関数によるモデルの概要確認
## * 残差分析の簡単な紹介
## * **回帰分析結果の解釈 (25分):**
## * 回帰係数の有意性
## * 決定係数 (R2) の解釈
## * 予測値の計算
## * 演習:データセットを用いて単回帰分析の実行と結果の解釈
##
## **第5回: 演習と応用 (90分)**
##
## * **復習と質疑応答 (15分):** これまでの内容の復習、質疑応答
## * **演習問題 (45分):** これまでの内容を総合的に理解するため、より実践的な演習問題に取り組む。
## * **応用例の紹介 (30分):** 実務で統計分析がどのように活用されているかの紹介。
## * 複数回帰分析への発展
## * 統計解析の結果を分かりやすく説明する方法
##
## ### 補足事項
##
## * 各回の内容は、受講者の理解度に合わせて調整する。
## * 各回の終わりに、次回の予告を行う。
## * 講座後には、質問受付や追加資料の提供を行う。
## * 興味のある方は、より高度な統計解析手法(ロジスティック回帰、多変量解析など)への学習を推奨する。
##
## この講座を通して、統計学の基礎を身につけ、Rを用いてデータ分析を行えるようになることを目指します。
こういうのは、まあそれらしい結果を返してくれます。
画像の判定
つづいて、画像に何が写っているかをたずねてみます。使用するのは以下の画像です。
<- content_image_file("images/P6177043.jpeg")
img $chat("この鳥は何ですか。", img)
chat## 写真に写っている鳥は、**ドバト**のようですね。
##
## 特徴的な顔つきや体色がドバトの特徴と一致します。
ドバトじゃなくてスズメです。なお、判定結果は実行ごとに変わったりもします。
英語でもきいてみます。
$chat("What is this bird?", img)
chat## Based on the image, that bird appears to be a **Eurasian Sparrow** (Passer
## domesticus).
##
## Here's why:
##
## * **Overall Appearance:** The brownish-beige body, grey back, russet crown,
## and characteristic facial markings are all good indicators.
## * **Distribution:** Eurasian Sparrows are widespread and common around the
## world, particularly in human-settled areas.
##
##
##
## Let me know if you’d like to know more about them!
イエスズメ (Passer domesticus) ではないですが、この前の実行では Rock dove (Columbia livia; カワラバト)≒ドバト と判定されていたので、それにくらべれば惜しい結果でした。
ChatGPTとかはためしていないのですが、gemma3:12bではこういうのはきびしいみたいです。