Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
Search
The Japan DataScientist Society
PRO
April 24, 2025
Video
Science
2
740
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
※webセミナーの講演資料(2025年4月24日)
※その他概要はこちら→
https://techplay.jp/event/978079
The Japan DataScientist Society
PRO
April 24, 2025
Tweet
Share
Video
More Decks by The Japan DataScientist Society
See All by The Japan DataScientist Society
学生向けアンケート<データサイエンティストについて>
datascientistsociety
PRO
0
690
データサイエンティストの採用に関するアンケート
datascientistsociety
PRO
0
560
データサイエンティストの就労意識~2015→2024 一般(個人)会員アンケートより
datascientistsociety
PRO
0
410
『実利用が多いRAG型ChatGPT「Cogmo」のポイント』 株式会社アイアクト 西原 中也氏
datascientistsociety
PRO
0
15
『RAGシステムの作り方教えます』 株式会社NTT ExCパートナー 堀内 周氏
datascientistsociety
PRO
0
40
データサイエンティストをめぐる環境の違い 2024年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
1.6k
Other Decks in Science
See All in Science
As We May Interact: Challenges and Opportunities for Next-Generation Human-Information Interaction
signer
PRO
0
450
はじめてのバックドア基準:あるいは、重回帰分析の偏回帰係数を因果効果の推定値として解釈してよいのか問題
takehikoihayashi
3
1.8k
[第62回 CV勉強会@関東] Long-CLIP: Unlocking the Long-Text Capability of CLIP / kantoCV 62th ECCV 2024
lychee1223
1
900
CV_3_Keypoints
hachama
0
160
オンプレミス環境にKubernetesを構築する
koukimiura
0
190
証明支援系LEANに入門しよう
unaoya
0
850
SpatialBiologyWestCoastUS2024
lcolladotor
0
110
ほたるのひかり/RayTracingCamp10
kugimasa
1
620
FRAM - 複雑な社会技術システムの理解と分析
__ymgc__
1
130
【健康&筋肉と生産性向上の関連性】 【Google Cloudを企業で運用する際の知識】 をお届け
yasumuusan
0
520
私たちのプロダクトにとってのよいテスト/good test for our products
camel_404
0
280
05_山中真也_室蘭工業大学大学院工学研究科教授_だてプロの挑戦.pdf
sip3ristex
0
320
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Music & Morning Musume
bryan
47
6.5k
Site-Speed That Sticks
csswizardry
6
510
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Cult of Friendly URLs
andyhume
78
6.3k
Transcript
生成AIと学ぶPythonデータ分析再入門 -Pythonによるクラスタリング・可視化をサクサク実施- 2025.4.24(Thu) 18:00START オンライン配信 アクセンチュア株式会社 ビジネス コンサルティング本部 シニア・マネジャー 赤石
雅典
2 講演者プロフィール 赤石 雅典 アクセンチュア株式会社 ビジネス コンサルティング本部 シニア・マネジャー • IBMでWatsonのテクニカルセールスなどを経験後、アクセンチュア入社。
現在、AI・データサイエンス系のプロジェクトの技術リードやクライアントの AI人材育成支援などを担当 • 『Pythonでスラスラわかるベイズ推論「超」入門』などAIやアナリティクス を題材とした著書多数 • 2025年3月には、自身8冊目の書籍である『ChatGPTで儲かるデータ 分析』を出版 • 関西の大学院にて授業を開講中
3 本講演で持ち帰っていただきたいこと • 生成AIを活用することで、Pythonによるデータ分析学習のハードルは従来と比較してはるかに低くなった • データ分析初級者にとって、日本語のプロンプトだけで分析結果が得られることが大きなメリット • 生成AIのPythonプログラミングに100%を求めるのは無理。だから今後もPython学習は必要だが、多少 間違いがあってもまず取り組むことが重要 •
R言語などでデータ分析経験を持つ方はPython実装をほぼ生成AIにまかせられるので、今日からでも Pythonを使った分析が可能 • Python言語指導者は、今日の話を学習者に伝えるのに加えて、「学習者がAIに質問する」ことを勧めると 学習効率があがるはず(但し生成AIの話を盲信しないよう注意が必要)
4 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
5 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
6 本講演の前提 • 生成AIに関しては、Open-AIの有料サービスであるChatGPT Plusを前提としています • 生成AIサービスとしてはGPT-4oを利用します。このサービスはAI内部にPython環境を持っていて、 Pythonによるデータ分析学習に適しているからです • 実習は、講演者の最新著作『ChatGPTで儲かるデータ分析』
5章のシナリオを引用しています • 但し、一部プロンプトは、本日のデモ用に改変しています • 本日のプロンプトは、後日、書籍サポートサイトで公開予定です • この他、上記著作の図表を一部引用しています 書籍サポートサイトリンク https://github.com/makaishi2/profitable_data_analysis - readme ※ 著書からの引用については出版元の日経BP様の了解をいただいています
7 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
8 Python・データ分析学習の新しいアプローチ 生成AI前/生成AI後のデータ分析におけるPythonの立ち位置の変化 生成AI前 生成AI後 • 一部の例外(SPSSなどのツール利用やR言語)を除 いてほとんどの分析タスクはPythonで実施 • 詳細タスクレベルのプロンプト(日本語による指
示)を出せば、ほぼ間違いのないPythonコードを生 成AIは出力 データ分析と Pythonの 関係 必要な Python スキル • 「Pythonでプログラミングができること」はデータ 分析の世界で必須 • これをマスターして初めてデータ分析固有の学習を 始められる • 「生成AIの作ったPythonプログラムが正しいこと を確認できる」能力があれば、生成AIをパートナー とすることでデータ分析が可能
9 Python・データ分析学習の新しいアプローチ 「生成AI前」のデータ分析学習の進め方を模式的に示した Python学習の積み上げがあって、はじめてデータ分析の各タスクの学習が可能になった
10 Python・データ分析学習の新しいアプローチ 「生成AI後」のデータ分析学習の進め方を模式的に示した 「プロンプト」を起点に、プロンプトとPythonコードの対応付けによる学習が可能
11 Python・データ分析学習の新しいアプローチ 「生成AI前」「生成AI後」のPython・データ分析学習アプローチの違いを整理
12 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
13 Python・データ分析学習時の生成AIへの向き合い方 書籍執筆時の経験も踏まえ、Python・データ分析学習における生成AIへの向き合い方を整理 (1) 全タスク共通 (2) プログラミングタスク固有 (3) プログラミング以外のタスク
14 Python・データ分析学習時の生成AIへの向き合い方 (1) 全タスク共通 コンテキストを生成AIにしっかり説明する • 日本語化指示を出さなかった場合のPythonコード • 「指示が日本語だからコメント文も日本語を期待」は 暗黙知であり、明示的に生成AIに教えてあげる必要
がある これから依頼する分析で生成されるPythonコードのコメント は日本語にしてください import pandas as pd # CSVファイルの読み込み file_path = "/mnt/data/wholesales.csv" df = pd.read_csv(file_path) # 先頭5行を表示 df.head() 添付のcsvファイルをデータフレームdfに読み込んでください 先頭5行を表示してください import pandas as pd # Read the CSV file into a DataFrame file_path = "/mnt/data/wholesales.csv" df = pd.read_csv(file_path) # Display the first 5 rows of the DataFrame df.head()
15 Python・データ分析学習時の生成AIへの向き合い方 (2) プログラミング系タスク固有 データ処理系タスクの場合のプロンプトのコツ 細分化したタスクを極力具体的に Pythonプログラムで1行にあたる処理を1つのプロンプトにするのが理想的 • ポイントは、想定されるPython実装コードをリ バースして、処理内容を日本語表現すること
• 講演者は前著作『Pythonで儲かるAIをつくる』の 実習コードにリバースをかけて、プロンプトだけで同じ 分析結果を得ることに成功した(書籍実習の裏話) • 自分で作ったプロンプトにツッコミを入れると、左のプ ロンプトでは「モデル」の指示するところが不明確で よい例とはいえない • しかし、今のChatGPTはこの程度の曖昧さは文脈 理解で普通に補ってくれる 構築したモデルを用いて、テストデータX_testに対する予測 結果を算出しy_predに代入します # テストデータに対する予測を行い、y_predに代入 y_pred = model.predict(X_test) # 予測結果の先頭5行を確認 y_pred[:5]
16 Python・データ分析学習時の生成AIへの向き合い方 (2) プログラミング系タスク固有 グラフ描画系タスク 表示したいグラフに対する指示を1つのプロンプトにまとめる Matplotlibでは、設定1つが1行のコードになるが、そうではなく「1つのグラフに対する指示」をまとめて出す • 表示上の細かいオプションは、実装コードに寄せる必要はなく 「こういう見た目のものがほしい」というレベルの指示でよい
• 経験上、ChatGPTが自分から気を効かせてseaborn※を 使ったことはないが、プロンプトに「seaborn」と一言入れる と後はよろしくやってくれる ※seabornは、Matplotlibより上位のグラフ描画ライブラリでこれを使うときれいなグ ラフをシンプルに描画できることが多い X_testの散布図を、y=1(良性)では黒の四角、y=0(悪性)はライトブ ルーの×で、seabornで表示してください マーカーは大きめにお願いします (以下の指示文はこのページの説明内容と関係ないので省略) import seaborn as sns import matplotlib.pyplot as plt import japanize_matplotlib # 日本語対応 # X_testとy_testを結合してプロット用のデータフレームを作成 plot_df = X_test.copy() plot_df["診断結果"] = y_test.replace({0: "悪性", 1: "良性"}) # 散布図の描画 plt.figure(figsize=(10, 6)) sns.scatterplot( data=plot_df, x="半径_平均", y="きめ_平均", hue="診断結果", # 色分け style="診断結果", # マーカーの形分け markers={"悪性": "X", "良性": "s"}, palette={"悪性": "skyblue", "良性": "black"}, s=100 # マーカーサイズ大きめ ) (以下略)
17 Python・データ分析学習時の生成AIへの向き合い方 前ページのざっくりした指示で、ChatGPTはこのグラフを作ってくれる 非常に便利なので、著者が仕事で一番よく使っている生成AI活用パターンかもしれない
18 Python・データ分析学習時の生成AIへの向き合い方 (3) プログラミング以外のタスク 書籍企画時には、生成AIの活用領域はPythonプログラミングと直接関係のある実装系タスク中心と思っていたが、執筆 時にいろいろ試した結果「ビジネス系タスク」も意外といけることが判明 ハルシネーションリスクは高いので「付き合い方」には注意が必要 Pythonプログラミングと 直接関係 Pythonプログラミング外
のタスク Pythonプログラミング外 のタスク
19 Python・データ分析学習時の生成AIへの向き合い方 (3) プログラミング以外のタスク プログラミング以外のタスクは、基本的にプロンプトがオープンクエッションになり、常にハルシネーションのリスクがある そのリスクは分かった上で使い方を注意すれば、活用用途は多いと考えられる • 「分析テーマ理解」「分析手順策定」 難しいタスクで、そのまま信用するのは危険だが、身近に相談する人がいない場合、壁打ち相手として活用するのはあり •
「データ理解」 プログラミングの1タスクとしての統計処理はもちろん得意だが、それ以外に「データの意味理解」に活用することが可能 生成AIを「プログラミング」でなく、「自然言語理解」の側面で活用するアプローチ。講演者は、意外と有力な活用法では ないかと考えている • 「結果解釈」「ビジネス施策立案」 「分析テーマ理解」「分析手順策定」などの上流タスクと同様に、そのまま活用するのは危険だが、自分だけでどうしていい かわからないときに、考え方のヒントをもらうのはあり
20 Python・データ分析学習時の生成AIへの向き合い方 (3) プログラミング以外のタスク 以下では書籍の中にある「データ意味理解」の具体例を示す 項目名 説明 項目値 id 橋の一意の識別子
001 river どの川に架かっているか A : アレゲニー、M : モノンガヒラ、O : オハイオ location 橋の位置 1 - 52 erected 橋が建設された年 1818 - 1986 purpose 橋の目的 徒歩、水道、線路、道路 length 橋の長さ 804 - 4558 lane 橋の車線数 1、2、4、6 clear-g 垂直クリアランス要件が適用されているか N : 実施されていない、G : 実施されている t-or-d 橋の上の道路の位置 スルー、デッキ material 橋の主要な素材 木、鉄、鋼 span 橋の長さ分類 ショート、ミディアム、ロング rel-l 交差長に対するスパンの相対的な長さ S : ショート、SF : ショートフル、F : フル type 橋の構造形式 木造、サスペンション、シンプルトラス、アーチ、カンチレ バー連続トラス データ定義書のこの説明だけでは、何を意味して いるのかよくわからない ChatGPTに教えてもらったこの説明で、何を意味 しているのか理解できた 添付はピッツバーグ・データセットの各項目の説明です この説明を元に、clear-gという項目がどういう意味なのかできる だけ具体的に説明してください
21 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
22 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章(クラスタリング)の実習 スペインの食品・日用品などの卸売り業者で小売店や飲食店を顧客としている企業がある。 この企業の顧客データを用いて顧客を4つのクラスタに分類し、各クラスタごとに特徴分析・販売施策の立案を行う。 項目名 説明 サンプル値 Channel チャネル
1-2 Region 地域 1-3 Fresh 生鮮食品 (整数値) Milk 牛乳 (整数値) Grocery 食料品 (整数値) Frozen 冷凍品 (整数値) Detergents_Paper 洗剤・紙製品 (整数値) Delicassen 惣菜 (整数値) Channel Region Fresh Milk Grocery Frozen Detergents _Paper Delicassen 2 3 12669 9656 7561 214 2674 1338 2 3 7057 9810 9568 1762 3293 1776 2 3 6353 8808 7684 2405 3516 7844 1 3 13265 1196 4221 6404 507 1788 2 3 22615 5410 7198 3915 1777 5185 項目名一覧 実データの先頭5行
23 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章(クラスタリング)の実習シナリオ 赤枠内が実習で用いるプロンプト一覧。処理に対応した自然言語による指示だけでデータ分析ができる
24 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング CSVファイル読み込み処理 import pandas as pd #
CSVファイルのパス file_path = "/mnt/data/wholesales.csv" # CSVファイルをデータフレームに読み込む # データフレームの変数名は df とする df = pd.read_csv(file_path) # データの先頭5行を表示 df.head() 生成Pythonコード例 添付のcsvファイルをデータフレームdfに読み込んでください 先頭5行を表示してください
25 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング クラスタリング処理 from sklearn.cluster import KMeans #
カテゴリ変数「チャネル」と「地域」を除外 df_numerical = df.drop(columns=["チャネル", "地域"]) # K-meansクラスタリングを実行(クラスタ数=4, 乱数シード=123, 初期 化回数=10) kmeans = KMeans(n_clusters=4, random_state=123, n_init=10) clusters = kmeans.fit_predict(df_numerical) # 結果を「クラスタ」列としてdfに追加 df["クラスタ"] = clusters # 先頭5行を表示 df.head() 生成Pythonコード例 dfに対してカテゴリ変数を落とした上で、K-meansを用 いてクラスタ数4 乱数シード123 n_init=10でクラスタ リングしてください すべての項目は金額なのでスケーリング処理は不要です 結果は「クラスタ」列としてdfに追加してください 元のデータフレームに追加されたクラスタ列
26 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング クラスタリング結果集計処理 生成Pythonコード例 # チャネルと地域以外の項目で、クラスタごとの平均を計算 # 小数第1位で四捨五入
df_cluster = df.groupby("クラスタ")[["生鮮食品", "牛乳", "食料雑貨", "冷凍食品", "洗剤・紙製品", "惣菜"]].mean().round(1) df_cluster チャネルと地域以外の項目をクラスタ単位で平均計算し、 結果をdf_clusterに代入してください 計算結果は小数第一位で四捨五入します df_cluster全体を表示してください groupby関数、mean関数、round関数を組み合わせる ことで、目的とする処理が可能
27 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング 集計結果の積み上げ棒グラフによる可視化 生成Pythonコード例 # 積み上げ棒グラフの描画 df_cluster.plot(kind='bar', stacked=True,
figsize=(12, 8)) # グラフのタイトルとラベル plt.title("クラスタごとの項目平均(積み上げ棒グラフ)") plt.xlabel("クラスタ") plt.ylabel("平均金額") plt.legend(title="項目") plt.tight_layout() plt.show() df_clusterを積み上げ棒形式でグラフ表示してください x軸はクラスタとします 積み上げ棒グラフはpandas(内部的にはMatplotlib)関 数呼び出しで1行でできる
28 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング クラスタ別のチャネル傾向の可視化 クラスタ単位にグループ化したときの、チャネルの分布 を積み上げ棒グラフで示してください 縦軸は100%を全体とします 凡例の項目値は先ほど推測した値を使います #
チャネルコードをラベルに変換(推定値を使用) df_labeled = df.copy() df_labeled["チャネル"] = df_labeled["チャネル"].map({1: "Retail", 2: "Horeca"}) # クラスタごとにチャネルの件数を集計し、割合に変換 channel_distribution = df_labeled.groupby("クラスタ")["チャネル "].value_counts(normalize=True).unstack() # 積み上げ棒グラフ(100%積み上げ)を描画 channel_distribution.plot(kind='bar', stacked=True) # グラフのタイトルとラベル plt.title("クラスタ別チャネル構成比(100%積み上げ棒グラフ)") plt.xlabel("クラスタ") plt.ylabel("構成比") plt.legend(title="チャネル") plt.tight_layout() plt.show() 生成Pythonコード例 かなり複雑な処理だが、groupby関数、value_counts関数、 unstack関数を活用して正確に計算している
『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング 集計結果のヒートマップによる可視化 デモシナリオの紹介 生成Pythonコード例 df_clusterを横軸「商品種別」縦軸「クラスタID」で ヒートマップ表示してください import seaborn as
sns # ヒートマップの描画(商品種別を横軸、クラスタIDを縦軸) plt.figure(figsize=(12, 6)) sns.heatmap(df_cluster, annot=True, fmt=".1f", cmap="YlGnBu") # グラフの装飾 plt.title("クラスタごとの項目平均(ヒートマップ)") plt.xlabel("商品種別") plt.ylabel("クラスタID") plt.tight_layout() plt.show() ヒートマップも軸名の指示だけであとはよろしく生成AIがやっ てくれる
30 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング 各クラスタの特性分析(分析結果解釈を生成AIにやらせてみた) クラスタ 0:「大量仕入れのビッグバイヤー」 •特徴 • 生鮮食品の仕入れ量が最も多い(平均36,144.5)
• 他の食品カテゴリ(牛乳、食料品、冷凍食品、洗剤・紙製品、デリカ テッセン)も全体的に平均以上 • 「ホテル・レストラン・カフェ」業態が多く、業務用の大量仕入れが予想 される •ニックネーム: 「大量仕入れのビッグバイヤー」 • 業務用の大量仕入れを行う大規模なレストランやホテル向け購買者 各クラスタの特徴をまとめ、特徴を象徴するニック ネームをつけてください レスポンス例(一部)
31 デモシナリオの紹介 『ChatGPTで儲かるデータ分析』5章の実習 クラスタリング 各クラスタ向けのマーケティング戦略例(施策立案を生成AIにやらせてみた) クラスタ 0:「大量仕入れのビッグバイヤー」 特性: 業務用に大量仕入れするレストラン・ホテル向けの購買者 マーケティング戦略:
•業務用大口割引の導入 • 大量購入に応じた価格割引を提供し、顧客のロイヤルティを高める。 •定期配送サービスの提供 • レストランやホテルが定期的に食材を補充できるよう、サブスクリプション 型の仕入れプランを提案。 •新商品のサンプル提供 • 新しい食材や業務用向けの洗剤などをサンプル提供し、新規商品導 入のハードルを下げる。 各クラスタごとに有効と考えられるマーケティング戦略の例を示 してください レスポンス例(一部)
32 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
33 デモ • 実際の画面でデモをお見せします • プロンプトはデモ向けに最適化したため、書籍の実習と一部異なります (画面例)
34 アジェンダ • 本講演の前提 • Python・データ分析学習の新しいアプローチ • Python・データ分析学習時の生成AIへの向き合い方 • デモシナリオの紹介
• デモ • より高度な生成AI活用方法
35 より高度な生成AI活用方法 • データ分析初級者向けには、ChatGPTが生成したコードをGoogle Colabなどの独立した Python実行環境にコピーして改めて動かすことがお勧め • こうすることで、ChatGPT内でわかりにくいPythonの詳細な挙動を試行錯誤で確認することができる • ChatGPT生成コードを他の環境で利用する時の考慮点については、書籍では巻末の「講座1.1」に
ヒントがあるが、より体系的な方法については、今後、qiitaなどで記事を書く予定
36 より高度な生成AI活用方法 この資料を作るときに遭遇したChatGPTのハルシネーション事例を紹介 ハルシネーション事例1 クラスタリングのときに標準化をかけてしまう from sklearn.preprocessing import StandardScaler from
sklearn.cluster import KMeans # 数値データのみ抽出(チャネル・地域を除く) features = df[["生鮮食品", "牛乳", "食料雑貨", "冷凍食品", "洗剤・紙類", "デリカッセン"]] # 標準化の実施 scaler = StandardScaler() scaled_features = scaler.fit_transform(features) # K-meansクラスタリングの実施(クラスタ数4、乱数シード123) kmeans = KMeans(n_clusters=4, random_state=123, n_init=10) clusters = kmeans.fit_predict(scaled_features) # クラスタ結果をデータフレームに追加 df["クラスタ"] = clusters # 先頭5行を表示 df.head() • 通常はクラスタリング前に「標準化」をするのがデータ分析の 「お作法」 • 今回はデータがすべて「金額」なので標準化すると逆に変 なバイアスがかかる • よって、クラスタリング前に標準化の指示を出していなかった のに、生成AIが余計なことをしてしまった
37 より高度な生成AI活用方法 この資料を作るときに遭遇したChatGPTのハルシネーション事例を紹介 ハルシネーション事例1 クラスタリングのときに標準化をかけてしまう 対策 プロンプトで余分なことをしないよう指示を追加したところ、正しい挙動になった dfに対してK-meansを用いてクラスタ数4 乱数シード123でクラスタリ ングしてください
すべての項目は金額で重み付けは自動的にされているので、標準化 は行わないでください 結果は「クラスタ」列としてdfに追加してください • 今回の処理がおかしいと気付くには、ある程度のデータ分析知識・経験が必要
38 より高度な生成AI活用方法 この資料を作るときに遭遇したChatGPTのハルシネーション事例を紹介 ハルシネーション事例2 結果解釈を間違えてしまう クラスタ 3 — 「高級ホテル・レストラン向け」 ニックネーム:
ハイエンド外食業態の一流顧客 特徴: 全項目が高水準。特に牛乳・惣菜・雑貨が極端に多い マーケティング戦略例: •✅ プレミアム商品・限定品の案内:ブランド力のある高付加価値商品が響きやすい •✅ サービス品質強化(スピード・柔軟納品):顧客対応のレベルをさらに高める •✅ 業界トレンド・メニュー開発のコンサル提案:マーケ視点でのコラボ提案も◎ チャネル分析の結果をまったく配慮していなため、誤った分析になっている
39 より高度な生成AI活用方法 この資料を作るときに遭遇したChatGPTのハルシネーション事例を紹介 ハルシネーション事例2 結果解釈を間違えてしまう 対策 チャネル分析結果も考慮するように追加指示を出したところ、正しい解釈になった クラスタ別チャネル分布の結果を考慮していますか 素晴らしいご指摘です。 「クラスタ別チャネル分布(100%積み上げ棒グラフ)」の結果を
反映していなかった ので、改めて チャネル傾向 (Horeca / Retail) を加味してクラスタ3の分析を修正・強化します。 クラスタ 3【修正版】 ▶ チャネル分析による補足 •100% が Retail(小売)チャネル •一見「高級外食業態」かと思いきや、実態は非常に購買力の高い小売業者 •牛乳・雑貨・惣菜・洗剤の突出と合致 → スーパー/ドラッグストア本部や高級スーパーの可能性 生成AIは一見もっともらしいウソをしれっというので、特に結果解釈に関しては、内容を一つ一つチェックする必要がある
40 本講演で持ち帰っていただきたいこと • 生成AIを活用することで、Pythonによるデータ分析学習のハードルは従来と比較してはるかに低くなった • データ分析初級者にとって、日本語のプロンプトだけで分析結果が得られることが大きなメリット • 生成AIのPythonプログラミングに100%を求めるのは無理。だから今後もPython学習は必要だが、多少 間違いがあってもまず取り組むことが重要 •
R言語などでデータ分析経験を持った方はPython実装はほぼ生成AIにまかせられるので、今日からでも Pythonを使った分析が可能 • Python言語指導者は、今日の話を学習者に伝えるのに追加で、「学習者がAIに質問する」ことを勧める と学習効率があがるはず(但し生成AIの話を盲信しないよう注意が必要)
41 PYTHON学習の参考となる書籍ご紹介(宣伝) 本講演で紹介した実習を含む、 ChatGPT時代のPythonデータ 分析学習方法の解説書 巻末には約100ページのPythonや データ分析ライブラリの解説もあり、 この一冊でデータ分析用のPython 情報をカバー Python文法、Numpy,
Pandas, Matplotlibなど、データ分析で必要 なPython情報を簡潔に解説 3章はPandasの使い方を詳細に、 4章はタイタニックデータセットを用い た本格的なデータ分析演習を解説 体系的にPythonデータ分析学習 を進めたい方に最適 『ChatGPTで儲かるデータ分析』の 姉妹書。例題は『ChatGPTで儲か るデータ分析』とほぼ同じテーマだが、 モデルのアーキテクチャやモデルチュー ニング方法など、それ以外の内容も 含む より深く機械学習を理解したい方 にお勧め ChatGPTで儲かるデータ分析 Pythonプログラミングと データ分析 Pythonで儲かるAIをつくる amazonリンク amazonリンク amazonリンク