인공지능

2023.05.16

연을 2023. 5. 16. 14:48
728x90

 

[02.py]

pip install numpy 설치 방법

- Terminal의 Split Terminal을 눌러 나오는 곳에 pip install numpy를 치고 엔터누르면 설치완료

import numpy as np
data=np.loadtxt("C:\\Users\\admin\\Desktop\\py\\py\\height_weight.txt",delimiter=",")
print(data)

[결과]

PS C:\Users\admin\Desktop\py> & C:/Users/admin/AppData/Local/Programs/Python/Python311/python.exe c:/Users/admin/Desktop/py/py/02.py
[[175.4 123.8 213.4 175.4 123.8 213.4]
 [ 76.4 123.4  71.4  76.4 163.4  74.4]]

: 이렇게 다차원 배열로 나오게 된다.

# NumPy 다차원 배열 데이터 구조를 제공하여 많은 데이터 처리 작업을 보다 효율적으로 처리

 

[03.py]

pip install scikit-learn 설치하기

from sklearn import svm,metrics
#학습시킬 데이터
datas=[[0,0],[1,0],[0,1],[1,1]]
#학습시킬 데이터에대한 답안
labels=[0,1,1,1]
#질의할 데이터
examples=[[0,0],[1,0]]
#질의 데이터 정답
examples_label=[0,1]

clf =svm.SVC()
clf.fit(datas,labels)
results=clf.predict(examples)
print(results)

score=metrics.accuracy_score(examples_label,results)
print("정답률",score)

[결과]

PS C:\Users\admin\Desktop\py> & C:/Users/admin/AppData/Local/Programs/Python/Python311/python.exe c:/Users/admin/Desktop/py/py/03.py
[0 1]
정답률 1.0

정답률 1.0의 뜻은 정답률이 100%란 뜻이다.

# pip install scikit-learn

# from sklearn import svm,metrics: scikit-learn 패키지에서 SVM 알고리즘과 평가지표(metrics)를 불러옵니다.
# datas: SVM 알고리즘으로 학습시킬 데이터를 정의합니다. 해당 데이터는 2차원 평면 상에 4개의 점으로 구성됩니다.
# labels: 학습 데이터에 대한 정답 레이블을 정의합니다. 해당 문제에서는 4개의 점이 각각 0 또는 1에 해당하는 이진 분류 문제입니다.
# examples: SVM 알고리즘으로 예측할 데이터를 정의합니다. 해당 데이터는 2차원 평면 상에 2개의 점으로 구성됩니다.
# examples_label: 예측 데이터에 대한 정답 레이블을 정의합니다.
# clf =svm.SVC(): SVM 알고리즘을 초기화합니다.
# clf.fit(datas,labels): SVM 알고리즘으로 학습 데이터를 학습합니다.
# results=clf.predict(examples): SVM 알고리즘으로 예측 데이터를 예측합니다.
# print(results): 예측 결과를 출력합니다.
# score=metrics.accuracy_score(examples_label,results): 예측 결과의 정확도를 측정합니다.
# print("정답률",score): 예측 결과의 정확도를 출력합니다.


# SVM(Support Vector Machine)은 딥러닝(Deep Learning)의 일종이 아닙니다.
# SVM은 지도학습(Supervised Learning) 분야에서 가장 강력한 분류(Classification)
# 모델 중 하나로, 결정 경계(Decision Boundary)와 각 클래스(범주) 사이의
# 최대 마진(Margin)을 찾는 것이 목표입니다.

# 지도 학습(Supervised Learning)은 머신러닝(Machine Learning)의 한 종류로,
# 입력 데이터(X)와 그에 상응하는 출력 데이터(Y)가 있는 데이터셋으로부터 학습하는 방법입니다.
# 이 때, 출력 데이터(Y)는 라벨(Label)이라고도 부릅니다.
# 입력 데이터와 출력 데이터 간의 함수 관계를 학습하며,
# 이를 통해 새로운 입력 데이터에 대한 출력 값을 예측할 수 있습니다.

# 지도 학습은 분류(Classification)와 회귀(Regression) 문제를 해결하는 데에 활용됩니다.
# 분류 문제에서는 입력 데이터(X)를 범주(클래스)에 따라 분류하고,
# 회귀 문제에서는 입력 데이터(X)를 출력 데이터(Y)에 대한 실수 값으로 예측합니다.

# scikit-learn 또는 sklearn은 파이썬에서 머신러닝을 위한 라이브러리입니다.
# metric scikit-learn에서는 머신러닝 모델의 성능 평가를 위한 여러 가지 지표(metric)를 제공합니다.

[04.py]

pip install pandas 설치

import pandas
from sklearn import svm,metrics
csv=pandas.read_csv("C:\\Users\\admin\\Desktop\\py\\py\\iris.csv")
data=csv[["sepal.length","sepal.width","petal.length","petal.width"]]
label=csv["variety"]

print(data)
print(label)

clf=svm.SVC()
clf.fit(data,label)
results=clf.predict([
    [4.6,3.6,1.4,.2],
    [4.6,3.1,1.5,.2],
    [5.6,3.6,1.5,.4],
    [4.6,3.1,1.4,.2],
    [5.9,3,5.1,1.8],
    [3.5,3.1,2.4,1.1]])

print(results)

[결과]

PS C:\Users\admin\Desktop\py> & C:/Users/admin/AppData/Local/Programs/Python/Python311/python.exe c:/Users/admin/Desktop/py/py/04.py
     sepal.length  sepal.width  petal.length  petal.width
0             5.1          3.5           1.4          0.2
1             4.9          3.0           1.4          0.2
2             4.7          3.2           1.3          0.2
3             4.6          3.1           1.5          0.2
4             5.0          3.6           1.4          0.2
..            ...          ...           ...          ...
146           6.3          2.5           5.0          1.9
147           6.5          3.0           5.2          2.0
148           6.2          3.4           5.4          2.3
149           5.9          3.0           5.1          1.8

[150 rows x 4 columns]
0      0
1      0
2      0
3      0
4      0
      ..
145    2
146    2
147    2
148    2
149    2
Name: variety, Length: 150, dtype: int64

[참고]

height_weight : CSV파일이라고 부른다.
# pandas는 표 형태의 데이터를 다루는 용도에 적합하고, NumPy는 배열 연산에 적합

# Pandas는 데이터프레임과 시리즈를 제공하며, 표 형태의 데이터를 다루는 데에
# NumPy는 다차원 배열 연산에 적합. 특히 수학적 계산과 과학계산에 적합, 머신러닝 분이 적합

 

오후에는 팀프로젝트 얘기

 

 

 

 

 

 

 

 

 

728x90