티스토리 뷰
본 글은 http://machinelearningmastery.com/machine-learning-in-python-step-by-step/
의 글을 토대로 번역아닌 번역과 함께 필자가 따라해보며 쓴 글임.
보다 자세한 설명이나 원문을 보고싶으신분은 위의 링크를 통해 보시길 추천합니다.
파이썬이 준비되었으면 iris flowers 라는 데이터셋을 가지고 여러가지를 해보자.
*참고 : Iris flower data set WIKI
( 이 데이터셋은 기계학습 및 통계에서 마치 프로그램 언어의 "hello world" 와 같이 쓰인다고 함 )
먼저 모든 모듈들을 import 해서 이상이없는지 체크를 해보자.
load_dataset.py 라는 파일을 만들어 다음 코드를 넣는다.
# Load libraries
import pandas
from pandas.tools.plotting import scatter_matrix
import matplotlib.pyplot as plt
from sklearn import model_selection
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
이런... 에러가 나왔다.
시키는대로 하자.
sudo apt-get install python-tk
그리고 다시 실행했을때 아무런 메시지가 안나와야 비로소 다음 단계로 진행 할 수 있다.
다시 load_dataset.py 파일을 열어 마지막 줄에 다음 코드를 이어 붙인다.
iris flowers 데이터셋 파일을 로드하기 위한 코드이다.
# Load dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
dataset = pandas.read_csv(url, names=names)
여기까지 작성한 코드를 전체 복사한후, 저장하고 닫는다.
다음 과정부터는 하나씩 자주 출력해볼것이기 때문에 python console 에서 진행할것이다.
쉘에서 python 을 입력후 파이썬 콘솔에서 위의 복사한 코드를 붙여넣기 한다.
이후 로드한 데이터셋을 다음 몇가지 방법으로 좀 살펴보도록 하자.
1. 데이터셋의 크기를 구해보자.
>>> print(dataset.shape)
(150, 5)
행렬이다( 150 x 5 )
2. 상위 20개 데이터를 뽑아보자.
>>> print(dataset.head(20))
sepal-length sepal-width petal-length petal-width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
5 5.4 3.9 1.7 0.4 Iris-setosa
6 4.6 3.4 1.4 0.3 Iris-setosa
7 5.0 3.4 1.5 0.2 Iris-setosa
8 4.4 2.9 1.4 0.2 Iris-setosa
9 4.9 3.1 1.5 0.1 Iris-setosa
10 5.4 3.7 1.5 0.2 Iris-setosa
11 4.8 3.4 1.6 0.2 Iris-setosa
12 4.8 3.0 1.4 0.1 Iris-setosa
13 4.3 3.0 1.1 0.1 Iris-setosa
14 5.8 4.0 1.2 0.2 Iris-setosa
15 5.7 4.4 1.5 0.4 Iris-setosa
16 5.4 3.9 1.3 0.4 Iris-setosa
17 5.1 3.5 1.4 0.3 Iris-setosa
18 5.7 3.8 1.7 0.3 Iris-setosa
19 5.1 3.8 1.5 0.3 Iris-setosa
3. 각 속성별 통계를 살펴보자.
>>> print(dataset.describe())
sepal-length sepal-width petal-length petal-width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667 1.198667
std 0.828066 0.433594 1.764420 0.763161
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
4. Class별 분포도를 살펴보자.
>>> print(dataset.groupby('class').size())
class
Iris-setosa 50
Iris-versicolor 50
Iris-virginica 50
3번의 통계 요약은 정말 놀라울 따름이다.
기존 언어에서는 한줄한줄 그룹핑 해서 계산해줘야하는걸 명령어 하나로 다양한 결과를 볼수있는게 그저 놀라울 따름이다..
여기까지 데이터셋을 불러와 살펴보는 단계를 마치고, 다음에는 위의 데이터들을 토대로 시각화를 해보도록 하자.
.........는 다음 포스트로~
'Develope > Python' 카테고리의 다른 글
Windows7 python2.7 설치하기 + PyCharm 세팅하기. (0) | 2017.05.24 |
---|---|
머신러닝 무작정 따라하기 PART 3.최적 알고리즘 선택 & 검증하기 (0) | 2017.05.06 |
머신러닝을 위한. Mac 에 파이썬2.7 설치하기 (0) | 2017.05.04 |
머신러닝 무작정 따라하기 PART 2.데이터 시각화하기 (0) | 2017.05.03 |
머신러닝을 위한. Ubuntu 에 파이썬2.7 설치하기 (0) | 2017.04.30 |
- Total
- Today
- Yesterday
- 머신러닝
- 파이썬
- 캠핑
- 사물인터넷
- 엘라스틱서치
- 서버
- OpenCV
- 미세먼지
- 강좌
- php
- object-C
- 라즈베리파이
- IOT
- ios
- xcode
- Android
- 딥러닝
- 리눅스
- 아두이노
- Deeplearning
- mysql
- diy
- 인공지능
- Python
- 공기청정기
- 아이폰
- 스위프트
- ubuntu
- swift
- 우분투
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |