利用したデータ
とある赤ワインの成分(1600本分)とその評価(10段階評価)をまとめたCSVデータ
《入手先》
https://pythondatascience.plavox.info/wp-content/uploads/2016/07/winequality-red.csv
今回したこと
・CSVからPythonを使ってデータを読み込む
・読み込んだCSVデータから説明変数・目的変数を設定
・訓練データとテストデータの分割
今後したいこと
・このデータを利用した機械学習の実装
(機械学習をより深く理解したい)
《より具体的には?》
"適当にワインの成分データを与えて、このワインは10段階でどの評価になるか?"
コマンドのエラーから、これを実装するためには何かのデータを1次元に揃えることが必要らしい。
コード例
sample.py
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
##CSVデータをPythonを使って読み込み
wine_data_set = pd.read_csv("winequality-red.csv",sep=";",header=0)
print(DataFrame(wine_data_set).head())
##説明変数の設定
print("-----説明変数--------")
setsumei = DataFrame(wine_data_set.drop("quality",axis=1))
print(setsumei.head(10))
##目的変数の設定
print("-----目的変数-------")
mokuteki = DataFrame(wine_data_set["quality"])
print(mokuteki.head(10))
##訓練データとテストデータの分割
setsumei_train,setsumei_test,mokuteki_train,mokuteki_test = train_test_split(setsumei,mokuteki,test_size=0.3)
print("-----訓練データとテストデータの分割--------")
print("-----説明変数 訓練データ--------")
print(setsumei_train.shape)
print(setsumei_train.head())
print("-----説明変数 テストデータ--------")
print(setsumei_test.shape)
print(setsumei_test.head())
print("-----目的変数 訓練データ--------")
print(mokuteki_test.shape)
print(setsumei_test.head())
print("-----目的変数 テストデータ--------")
print(mokuteki_train.shape)
print(mokuteki_train.head())
出力結果
fixed acidity volatile acidity citric acid residual sugar chlorides \
0 7.4 0.70 0.00 1.9 0.076
1 7.8 0.88 0.00 2.6 0.098
2 7.8 0.76 0.04 2.3 0.092
3 11.2 0.28 0.56 1.9 0.075
4 7.4 0.70 0.00 1.9 0.076
free sulfur dioxide total sulfur dioxide density pH sulphates \
0 11.0 34.0 0.9978 3.51 0.56
1 25.0 67.0 0.9968 3.20 0.68
2 15.0 54.0 0.9970 3.26 0.65
3 17.0 60.0 0.9980 3.16 0.58
4 11.0 34.0 0.9978 3.51 0.56
alcohol quality
0 9.4 5
1 9.8 5
2 9.8 5
3 9.8 6
4 9.4 5
-----目的変数-------
quality
0 5
1 5
2 5
3 6
4 5
5 5
6 5
7 7
8 7
9 5
-----説明変数--------
fixed acidity volatile acidity citric acid residual sugar chlorides \
0 7.4 0.70 0.00 1.9 0.076
1 7.8 0.88 0.00 2.6 0.098
2 7.8 0.76 0.04 2.3 0.092
3 11.2 0.28 0.56 1.9 0.075
4 7.4 0.70 0.00 1.9 0.076
5 7.4 0.66 0.00 1.8 0.075
6 7.9 0.60 0.06 1.6 0.069
7 7.3 0.65 0.00 1.2 0.065
8 7.8 0.58 0.02 2.0 0.073
9 7.5 0.50 0.36 6.1 0.071
free sulfur dioxide total sulfur dioxide density pH sulphates \
0 11.0 34.0 0.9978 3.51 0.56
1 25.0 67.0 0.9968 3.20 0.68
2 15.0 54.0 0.9970 3.26 0.65
3 17.0 60.0 0.9980 3.16 0.58
4 11.0 34.0 0.9978 3.51 0.56
5 13.0 40.0 0.9978 3.51 0.56
6 15.0 59.0 0.9964 3.30 0.46
7 15.0 21.0 0.9946 3.39 0.47
8 9.0 18.0 0.9968 3.36 0.57
9 17.0 102.0 0.9978 3.35 0.80
alcohol
0 9.4
1 9.8
2 9.8
3 9.8
4 9.4
5 9.4
6 9.4
7 10.0
8 9.5
9 10.5
-----訓練データとテストデータの分割--------
-----説明変数 訓練データ--------
(1119, 11)
fixed acidity volatile acidity citric acid residual sugar chlorides \
28 7.1 0.71 0.00 1.9 0.080
938 7.2 0.38 0.38 2.8 0.068
1150 8.2 0.33 0.32 2.8 0.067
1454 11.7 0.45 0.63 2.2 0.073
582 11.7 0.49 0.49 2.2 0.083
free sulfur dioxide total sulfur dioxide density pH sulphates \
28 14.0 35.0 0.99720 3.47 0.55
938 23.0 42.0 0.99356 3.34 0.72
1150 4.0 12.0 0.99473 3.30 0.76
1454 7.0 23.0 0.99974 3.21 0.69
582 5.0 15.0 1.00000 3.19 0.43
alcohol
28 9.4
938 12.9
1150 12.8
1454 10.9
582 9.2
-----説明変数 テストデータ--------
(480, 11)
fixed acidity volatile acidity citric acid residual sugar chlorides \
1173 7.6 0.36 0.31 1.7 0.079
398 11.5 0.59 0.59 2.6 0.087
805 8.2 0.28 0.40 2.4 0.052
1416 10.0 0.32 0.59 2.2 0.077
14 8.9 0.62 0.18 3.8 0.176
free sulfur dioxide total sulfur dioxide density pH sulphates \
1173 26.0 65.0 0.99716 3.46 0.62
398 13.0 49.0 0.99880 3.18 0.65
805 4.0 10.0 0.99356 3.33 0.70
1416 3.0 15.0 0.99940 3.20 0.78
14 52.0 145.0 0.99860 3.16 0.88
alcohol
1173 9.5
398 11.0
805 12.8
1416 9.6
14 9.2
-----目的変数 訓練データ--------
(480, 1)
fixed acidity volatile acidity citric acid residual sugar chlorides \
1173 7.6 0.36 0.31 1.7 0.079
398 11.5 0.59 0.59 2.6 0.087
805 8.2 0.28 0.40 2.4 0.052
1416 10.0 0.32 0.59 2.2 0.077
14 8.9 0.62 0.18 3.8 0.176
free sulfur dioxide total sulfur dioxide density pH sulphates \
1173 26.0 65.0 0.99716 3.46 0.62
398 13.0 49.0 0.99880 3.18 0.65
805 4.0 10.0 0.99356 3.33 0.70
1416 3.0 15.0 0.99940 3.20 0.78
14 52.0 145.0 0.99860 3.16 0.88
alcohol
1173 9.5
398 11.0
805 12.8
1416 9.6
14 9.2
-----目的変数 テストデータ--------
(1119, 1)
quality
28 5
938 7
1150 7
1454 6
582 5