1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Qiita 投稿のことはじめ

Last updated at Posted at 2023-06-24

ふと思う、、、アウトプットが足りねぇ!!!

現在大学2年生、エンジニアになるために勉強してはいるものの、アウトプットが圧倒的に足りないとおもった。よし、とりあえずQiita書いてみよう!

まず書く前に、コードの書き方を一読。
参考にした記事
https://qiita.com/shizen-shin/items/a997bc228fa2850c9fce

ってことで、とりあえず事始めとして最近勉強したサポートベクターマシーン(svm)の備忘録書いていく。

今回やること

svmを使った簡単な分類問題を解いていきます。
使うデータはsklearnのワインのデータ。3つに分類していきます。
ほぼ教科書に載ってることですね。

必要なライブラリをインポート

サポートベクターマシーンに必要なライブラリをインポートします。

python
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score
import seaborn as sns

使用するデータを用意

python
from sklearn.datasets import load_wine

wine = load_wine()  # データをロード
wine_df = pd.DataFrame(wine.data, columns=wine.feature_names)  # データをデータフレームに変換
wine_df["class"] = wine.target  # カラム[class]に目的変数を設定。

簡単にデータの分布を確認

python
wine_df.describe()

訓練データとテストデータに分割 &  標準化

svmが学習できるように説明変数を標準化していきます。
標準化とは平均を0、標準偏差を1にすることです。

python
# 訓練データとテストデータに分割
x_train, x_test, t_train, t_test = train_test_split(wine.data, wine.target, random_state=0)

# データの標準化
std_scl = StandardScaler()
std_scl.fit(x_train)
x_train = std_scl.transform(x_train)
x_test = std_scl.transform(x_test)

モデルの定義、学習、予測した後、評価

モデルを定義、学習、予測した後、
accuracy_scoreを使って今回の予測の正答率を計算します。

python

model = LinearSVC(random_state=0)  # モデルを定義
model.fit(x_train, t_train)  # 学習

# 予測
y_test = model.predict(x_test)

# 正解率
acc_test = accuracy_score(t_test, y_test)
print(acc_train, acc_test)

1.0 1.0

今回テストに使用した45件のデータ全てにおいて正解することができました。
裏で行われている計算をもっと深く知っていきたいです。

最後に

今回初めてのQiita投稿ということで、試しにsvmの備忘録を記録しました。
結構楽しく書けたので、今後も投稿していきたいです!

ありがとうございました。

sklearnドキュメント
https://scikit-learn.org

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?