생각하는 감쟈

[Python] 5-1) 딥러닝 흐름 본문

Language/Python

[Python] 5-1) 딥러닝 흐름

생각하는 감쟈🥔 2023. 6. 10. 20:40

 

 

 

4DAY

인공지능이란?

딥러닝 흐름 잡기

 

PART1. 인공지능

 

머신러닝 : 회귀 / 분류

기본적으로 데이터를 분석하는 알고리즘

특성을 추출하는 과정을 집적 설계하고 코딩해 결론을 추론하는 방식

 

딥러닝 : CNN / RNN, LSTM

머신러닝 한 분야이면서 고전적인 머신러닝과는 확연히 구분되는 새로운 영역으로 봄

 

머신러닝과 딥러닝의 차이

머신러닝
 
딥러닝
구조적인 데이터
데이터
지각에 관한 데이터
하나의 층
여러
Ensembal, Boost
모델기법
신경망, CNN, RNN
Sklearn
프레임워크
tensorflow, keras. pythorch

 

 

 

 

!pip install mglearn

import mglearn

from sklearn.linear_model import Lasso


PART2. 딥러닝 흐름 잡기

머신렁닝 과정

 
 

회귀(Regression)

  • 결과값 하나를 추론하는 문제
  • 실수 값 추정
  • 종류 : 선형, 다항식 등
  • 규제 회귀 : Ridge,Lasso,Elastic Net

 

Logistic Regression

  • True / False 확률을 찾는데 사용
  • Binary Classification에 사용
  • 종속 변수 (Y)와 독립변수(x)간의 선형 관계를 요구하지 않음

 

다항식 회귀 Polynoimal regression

  • 더 낮은 차수의 오차를 얻기 위해 다항식 사용
  • 과도한 피팅 초래 가능

 

머신러닝 모델

  • 결정트리
    • 의사결정 규칙과 그 경과들을 트리 구조로 도식화한 의사결정 지원 도구
    • flowchart와 같은 구조
    • 입력데이터 포인트를 분류
    • 주어진 입력에 대한 출력 값을 예측
  • ENsemble
    • 여러게의 분류기 생성
    • 예측 결합보다 정확힌 최종에측을 도출
    • 대부분의 정형데이터 분류시 뛰어난 성능
  • RandomForest
  • Boosting

 

손실

에러 - 참값과 근사값 차이

손실 - 모델링에서 얻은 값과 참값의 차이

 

예측 및 평가

 

 

실습 예제

문제

x-y 상하관계 데이터를 이용해 선형 회귀 계수를 구하고

그래프로 데이터와 선형 회귀 직선을 그리기

 

import numpy as np
import pandas as pd

import os
for dirname,_,filenames in os.walk('/kaggle/input'):
    for filename in filenames:
        print(os.path.join(dirname, filename))
#kaggle 첫 입력창에 기본으로 주어진 명령어를 싱행

a1 = pd.read_csv('/kaggle/input/statsex3/a1.csv',names=['x','y'])
a1
# 주어진 데이터 al.csv 파일을 불러오면서 column 이름을 각각 x,y 지정

a1.describe()
#a1의 기초 통계수치(데이터 개수, 평균, 표준편차,최솟값,사분위 값들,최댓값) 확인

a1.isnull()
#결측치 확인
a1.isnull().any()
#column 결측치 확인

a1[a1['y'].isnull() == True]
#y column에 결측지가 있는 raw 출력
a2 = a1.dropna()
#결측치가 있는 raw를 삭제

a2

x1 = np.array(a2['x'])
y1 = np.array(a2['y'])
# 데이터를 numpy 배열로 변환

x1.shape
#x1의 데이터 형태 확인
#(1000,) : 1차원 배열의 경우 1000 다음에 콤마 삽입해 표현
x2 = x1.reshape(-1,1)
#x1의 데이터 형태를 1차원(1000,) 에서 2차원(1000,1)로 변경, -1은 자동계산을 의미

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(x2,y1)

a = lr.coef_
b = lr.intercept_
a,b

import matplotlib.pyplot as plt
plt.figure(figsize =(10, 8))

plt.plot(x1,y1,'o')
plt.plot(x2,lr.predict(x2))
#x값이 x2,y값이 lr.predict((x2)) x2값을 학습시
x = np.linspace(0,100,10000)
plt.plot(x,a*x+b,'r')
 

 

사용자 창 띄우기

from tkinter import *
import tkinter
 
win=tkinter.Tk()
win.title("input system")
win.geometry("500x200")


label=tkinter.Label(win, text="당신의 하루는 어떠셨나요?")
label.pack()

ent1 = Entry(win)
ent1.pack()

btn = Button(win,text="실행하기")
btn.pack()

win.mainloop()
 
from tkinter import *
from tkinter import messagebox

root = Tk()

def okClick():
    name = txt.get()
    messagebox.showinfo("이름", name)
    
lbl = Label(root, text="이름")
lbl.grid(row=0, column=0)
txt =Entry(root)
txt.grid(row=0,column=1)

btn = Button(root, text="ok", command=okClick)
win.mainloop()
 

 

뭐지..오늘 이론 덩어리

교재pdf 이미지 설명

함부로 넣으면 안 될거 같아서 다 생략...

 

 

 

 

 #python #Ai #Bigdata #cloud #대외활동 #대학생 #daily

 

Comments