지도학습에는 크게 두가지가 있습니다. 전에서 했던 분류 , 이번에서할 회귀로 나누어집니다. 우리가 원하는값이 이산값일경우 분류를 하는 것이고 우리가 원하는값이 연속형(숫자값)이면 회귀입니다. 선형회귀는 실제값과 예측값의 차이를 최소화하는 직선형 회귀선을 최적화하는 방식입니다. 과적합을 방지하는 규제모델에 따라 여러가지 유형으로 나누어집니다. 대표적인 선형회귀 모델 - 일반 선형회귀 : 예측값과 실제값의 MSE(예측값과 실제값의 차이의 제곱)을 최소화 할 수 있도록 회귀 계수를 최적화하며 규제는 적용하지 않는 모델 - 릿지(Ridge) 회귀 : 선형회귀에 L2규제를 추가한 회귀 모델으로 L2규제는 상대적으로 큰 회귀계수 값의 예측 영향도를 감소시키기 위해서 회귀계수를 더 작게 만드는 규제 모델입니다. (회..
모델의 성능을 판단하는 평가지표 중 하나가 정확도(accuracy)이다. 하지만 정확도는 불균형한 레이블 값 분포에서 ML 모델의 성능을 판단할 경우 적합한 평가지표가 아닙니다. 다음과 같이 sex 피처가 1이면 0 , 0이면 1로 예측하는 아주 간단한 예측 분류기를 통해 정확도르 도출하겠습니다. from sklearn.base import BaseEstimator class MyDummyClassifier(BaseEstimator): def fit(self,X,y=None): pass def predict(self,X): pred = np.zeros((X.shape[0],1)) for i in range(X.shape[0]): if X['Sex'].iloc[i] ==1: pred[i] = 0 else:..
조건문 : if , elif ,else 반복문 : while > 중단 하고 싶을땐 ? break > 건너 뛰고 싶을땐 ? continue while True: value = input("Integer , please [q to quit]:") if value == 'q': break number = int(value) if number % 2 == 0: continue print(number , "squared is", number**2) break 확인하기 : else break는 어던 것을 체크하여 그것을 발견했을 경우 종료하는 while문을 작성할 때 쓰인다. while 문이 모두 실행되었지만 발견하지 못했을 경우에는 else가 실행된다. numbers = [1,3,5] position = 0 wh..
붓꽃 품종 예측. 1. 붓꽃 데이터를 불러온다. 2. 데이터와 타겟값을 나눈다. 3. 데이터 세트를 분리 한다. 4. 학습한다.(결정트리 사용) 5. 예측한다. 6.예측 정확도를 확인한다. import pandas as pd from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score iris = load_iris() iris_data = iris.data iris_label = iris.target X_train,X_test,y_train,..
리스트 -리스트 생성. 1. 리스트는 콤마( , )로 구분하고 대괄호( [ ] )로 둘러 써여 있습니다. 2. list() 메소드를 이용해 빈 리스트를 할당할 수 있습니다. Today_menu = ['apple','rice'] empty_list = list() empty_list2 = [] -다른 데이터 타입을 리스트로 변환하기 : list() > list()함수는 다른 데이터 타입을 리스트로 변환해 줍니다. 다음 예제는 하나의 단어를 알파벳으로 나눈 예제입니다. list("dog") ['d','o','g'] 리스트 또한 [offset]으로 항목을 얻을 수 있고 동시에 항목을 바꿀 수 있습니다. country = [ "Korea" , "USA" , "UK" ,"Japan"] country[0] # Ko..
1번. class Circle: # circle 클래스 설정 def __init__(self,radius): #초기값 self.radius = radius def circumference(self): #원의 둘레 self.circumference = 3.14 * 2 * self.radius def area(self): #원의 넓이 self.area = 3.14 * self.radius * self.radius def __str__(self): #메세지 msg = "원의 반지름 :"+str(self.radius)+"원의 면적:" +str(self.circumference) + "원의 넓이"+ str(self.area) return msg mycircle = Circle(100) mycircle.area()..
1번. import tkinter as tk from PIL import Image , ImageTk, ImageFilter from tkinter import filedialog as fd im = None #사용할 변수들 선언 tk_img = None def open(): global im , tk_img fname = fd.askopenfilename() #클릭했을때 클릭된 파일 im = Image.open(fname) #파일 연다. tk_img = ImageTk.PhotoImage(im) #tk형식에 바꾸어 파일 변환 canvas.create_image(250,250,image=tk_img) #캔버스에 이미지 그린다. window.update() #윈도우 업데이트 def quit(): window..
1번. a =0 filename = input("파일 이름을 입력하시오 :") #파일 입력받는다. infile = open(filename,"r") # 파일 읽기모드로 연다 . for line in infile: line = line.strip() #글자 수 세기위해 공백 없앤다. b = len(line) #글자 갯수 a = a+b infile.close() #파일 닫늗다. print("{}의 글자가 있습니다.".format(a)) 2번. filename = input("파일 이름을 입력하세요 : ") #파일 입력 delete_word = input("삭제할 문자열을 입력하세요 : ") # 삭제할 문자열 입력 myfile = open(filename, "r") #읽기모드로 연다. modified_s = ..
1번. num_list = [] #리스트 생성 for i in range(5): a = int(input(("정수를 입력하시오 :"))) num_list.append(a) #받아서 리스트에 삽입한다. sum = 0 # sum 값 초기화 for j in range(len(num_list)): sum = sum + num_list[j] #총 합을 구한다. print("평균 = {}".format(sum /len(num_list))) #평균을 구한다. 2번. import random couters = [0,0,0,0,0,0] #리스트 생성 for i in range(1000): # 천번 던진다. value = random.randint(0,5) couters[value] = couters[value] + 1 ..
1번. import turtle as t import random t.shape("turtle") t.bgcolor("skyblue") t.color("white") t.pensize(10) def draw_snowman(x,y): r=100 #초기 반지름 값 100으로 시작 for i in range (3): #원3개를 그려 눈사람을 만든다. t.up() t.goto(x,y) t.down() t.fillcolor("white") t.begin_fill() t.circle(r) t.end_fill() r -= 30 #눈덩이 크기,위치 조절 y += 130 t.up() #눈사람 팔을 만들기위한 식 t.goto(x+r+60,y-260+r+60) t.color("black") t.down() t.sethead..