新着記事一覧

転職エージェント

キャリア形成・転職 仕事・キャリア

2026/10/20

【40代の転職】転職エージェントの選び方

転職活動を始めるとき、利用する人も多い「転職サイト」。 転職サイトに登録していると、様々な転職エージェントからスカウトや連絡があります。 私も今回の転職活動では、複数の転職サイトに登録し、その中でスカウトを送ってくれたいくつかの転職エージェントの担当者と実際に話をしました。 そこで感じたのが、「転職エージェントなら、どこでも同じというわけではない」ということです。 求人の紹介方法も違えば、書類添削や面接対策などのサポート内容も違います。 そして何より、担当者によって熱量や相性がかなり違うと感じました。 今 ...

続きを読む

ポケモン 遊び・趣味

2026/10/20

【ポケモン】ポケモンGo リアルイベントの醍醐味

ポケモンGOのリアルイベントに参加してみて、改めて感じたことがあります。 それは、「ポケモンGOって、こんなに人とつながれるゲームだったんだ!」ということ。 普段もポケモンGOをプレイしていますが、家の近所や通勤途中で遊んでいるときは、一人(もしくは子供と)で黙々とポケモンを捕まえています。 知らない人に話しかけることも、ほとんどありません。 ところが、リアルイベントになると、それがちょっと変わります。 そこには、同じようにポケモンが好きな人が全国、そして世界中から集まっている。 「ポケモンが好き」という ...

続きを読む

キャリア形成・転職 仕事・キャリア

2026/10/20

【40代の転職】転職活動のスケジュールと進め方

海外営業からデジタルマーケティングへキャリアチェンジし、やりたい仕事に手応えを感じていたものの、組織変更によってデジタルマーケティングの仕事そのものがなくなってしまったことが、転職を考える大きなきっかけでした。 今回は、その後の転職活動のスケジュールと、実際にどのように転職活動を進めたのかを書いてみたいと思います。 結果的には、3月に本格的に転職活動を始め、4月に転職先を決定、4月22日を最終出社日として、5月は少しゆっくり過ごし、6月から新しい会社で働き始めました。 これから転職を考えている方の参考にな ...

続きを読む

ポケモン 遊び・趣味

2026/10/18

【ポケモン】Pokémon GO Fest 2026:東京!5月のリアルイベントの服装と持ち物まとめ

5月に開催されたPokémon GO Fest 東京に、小学2年生の息子と一緒に参加してきました!リアルイベントは初参加です! 今回が初めてのリアルイベント参加。 参加する前は、 「5月ならそこまで暑くないかな?」 「飲み物はどれくらい持っていけばいい?」 「スマホの充電は足りる?」 など、いろいろと気になることがありました。 実際に参加してみると、ポケモンGOのリアルイベントならではの準備がかなり重要! 特に、たくさんの人が集まるイベントなので、飲み物やモバイルバッテリーなどは「ちょっと多いかな?」くら ...

続きを読む

キャリア形成・転職 仕事・キャリア

2026/10/20

【40代の転職】転職のきっかけ

Haruは41歳で転職をしました。この記事では、40代の転職のきっかけをお伝えしようと思います。 なぜ転職を決めたのか 「なぜ転職したの?」 転職すると、よく聞かれる質問です。 私の場合、突然「今の会社が嫌になったから」というわけではありません。むしろ、これまでの会社で自分なりにやりたいことを見つけ、勉強して、部署異動まで実現させて、少しずつキャリアを変えてきました。 それでも最終的に転職を決めたのは、「この会社にいても、これ以上自分がやりたい方向には進めない」と思う出来事があったからです。 今回は、私が ...

続きを読む

ポケモン 遊び・趣味

2026/10/11

【ポケモン】豊橋ポケモン天文台に行ってきた話

三連休の土曜日、子どもたちと一緒にポケモン天文台へ行ってきました!ポケモンと宇宙が組み合わさった施設ということで、子どもたちは行く前から楽しみにしていました。今回は、実際に訪れてみて感じたことを中心に、アクセスや駐車場、混雑状況、館内の見どころ、グッズ購入までまとめてみます。(ネタばれしない範囲で) ポケモン天文台ってどんなところ? ポケモン天文台は、宇宙や星について楽しく学べる、ポケモン好きの子どもにはたまらないスポット。単に展示を見るだけではなく、ポケモンと一緒に太陽系や星、隕石などについて学べるので ...

続きを読む

Python 仕事・キャリア

2026/10/10

【Python】Pythonでの自然言語処理(日本語)

こちらの記事では、自然言語処理についてまとめています。 自然言語処理とは? 自然言語とは、日本語や英語のような自然発生的に生まれた言語です。日常的に使用している自然言語について、言葉が持つ意味を解析し処理します。活用事例としては、チャットボット、音声認識AI、文字認識(手書き文字をカメラが認識し文字データへと変換する技術)、検索エンジン、翻訳、感情分析、文章要約などがあります。 文章の意味を機械に理解させるには、単語分割を行う必要があります。手法は主に2つあります。 1.形態素解析形態素とは意味を持つ最小 ...

続きを読む

Python 仕事・キャリア

【Python】機械学習(教師あり)単回帰分析の実装

説明変数1つで目的変数を予測する単回帰分析を実装してみたいと思います。

※習初学者の勉強のアウトプットですので、もしコードや解釈に間違い等あればご指摘頂けますと幸いです。

単回帰分析とは

上述の通り、説明変数1つで目的変数を予測する線形回帰モデル。回帰モデルの基礎です。

単回帰分析の実装

今回はWebサイトの閲覧数と売上のサンプルデータを使用して、単回帰式で分析をしてみたいと思います。

#必要なライブラリのインポート
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression

#csvファイルを読み込む
df = pd.read_csv("test.csv",encoding="shift-jis")
print(df.head())
df.shape()

#x, y にそれぞれ説明変数、目的変数を格納する
x = df["売上金額(JPY)"]/1000000 #単位が大きいので1000000で割っておく
y = df["Views"]

#単回帰分析を行う
model = LinearRegression()
model.fit(x.values.reshape(-1, 1), y)

#散布図を描画
plt.plot(x ,y ,"o")
plt.plot(x, model.predict(x.values.reshape(-1, 1)), linestyle="solid")
plt.xticks([50,70,90,110], fontsize=10)
plt.yticks([5000,7000,9000,11000,13000], fontsize=10)
plt.xlabel("Sales(M JPY)",fontsize=10)
plt.ylabel("View",fontsize=10)
plt.show()

#モデルの回帰変数
print('モデル関数の回帰変数 w1: %.3f' % model.coef_)

#モデルの切片
print('モデル関数の切片 w2: %.3f' % model.intercept_)

#モデルの回帰式
print("y= %.3fx + %.3f" %(model.coef_, model.intercept_))

#x,yの相関係数
print("相関係数: %.3f" % x.corr(y))

#モデルの決定係数R2
print("決定係数R2: %.3f" % model.score(x.values.reshape(-1, 1), y))

解説

#csvファイルを読み込む
df = pd.read_csv("test.csv",encoding="shift-jis")
print(df.head())
df.shape()

保存しているcsvファイルをpd.read_csv("ファイル名")で読み込みます。
読み込んだファイルは以下です。df.head()で最初5行を確認、df.shape()でデータの内容を確認。今回は24行×3列のデータを準備しています。

#x, y にそれぞれ説明変数、目的変数を格納する
x = df["売上金額(JPY)"]/1000000#単位が大きいので1000000で割っておく
y = df["Views"]

x、yにそれぞれ説明変数、目的変数を格納しています。x.head(),y.head()で中身を確認し、それぞれ、以下のように格納できています。

こちらはyの中身です。

#単回帰分析を行う
model = LinearRegression()
model.fit(x.values.reshape(-1, 1), y)

LinearRegression()で単回帰モデルを呼び出し、model.fit(訓練データX, 訓練データy)で線形回帰モデルを当てはめる。

この時注意すべきは、.reshape(-1, 1)を用いて次元数を1から2に変更しています。scikit-learnの多くのアルゴリズムが2次元配列を入力として期待するため、、、みたいです。とりあえず単回帰分析の時は、この点注意しようと思います。

#散布図を描画
plt.plot(x ,y ,"o")#説明変数、目的変数を散布図にプロットする
plt.plot(x, model.predict(x.values.reshape(-1, 1)), linestyle="solid")#横軸にx, y軸に単回帰モデルを使用して説明変数xから予測した予測値を入れグラフ描写
plt.xticks([50,70,90,110], fontsize=10)#x軸のメモリ設定
plt.yticks([5000,7000,9000,11000,13000], fontsize=10)#y軸のメモリ設定
plt.xlabel("Sales(M JPY)",fontsize=10)#x軸のラベル設定
plt.ylabel("View",fontsize=10)#y軸のラベル設定
plt.show()

散布図と回帰直線は以下のようになります。でも、これだけでは関係あるのかパッと見わかりにくいです。
回帰式を算出、相関係数や決定係数を見てみたいと思います。

#モデルの回帰変数
print('モデル関数の回帰変数 w1: %.3f' % model.coef_)

#モデルの切片
print('モデル関数の切片 w2: %.3f' % model.intercept_)

#モデルの回帰式
print("y= %.3fx + %.3f" %(model.coef_, model.intercept_))

#x,yの相関係数
print("相関係数: %.3f" % x.corr(y))

#モデルの決定係数R2
print("決定係数R2: %.3f" % model.score(x.values.reshape(-1, 1), y))

%.3fの意味ですが、%:フォーマット文字列の開始、.3:小数点以下の桁数、f:不動小数点数、を表します。
print('モデル関数の回帰変数 w1: %.3f' % model.coef_)を例でとると、不動小数点model.coefの値が、小数点以下3桁で表されることになります。

以下が結果です。相関係数0.404ということなので、説明変数xと目的変数yの間にはやや相関がある、決定係数R2は0.163なので回帰式の当てはまりはよくない、という結果になりました。

  • この記事を書いた人

Haru

会社員。育休2回取得、40代で転職。
職種はデジタルマーケティング。
ポケモン、スノボ、IT系の学び、キャリア、育児について発信していきます。

-Python, 仕事・キャリア
-, , ,