강의자료 254

[캐글(Kaggle) 따라하기]05-1.KNN(K-최근접 이웃) 알고리즘1- 데이터 준비

지난시간(https://wondangcom.tistory.com/2354) 타이타닉 문제를 해결하면서 KNN,의사결정트리,랜덤 포레스트,SVM 의 알고리즘의 정확도를 비교해 보았는데요~ 이번시간에는 KNN 알고리즘에 대해 다루어 보겠습니다. 1. KNN(K-최근접 이웃) 알고리즘이란? 어떤 데이터에 대한 답을 구할 때 주위의 다른 데이터를 보고 다수를 차지하는 것을 정답으로 사용하는 알고리즘입니다. 2. 실습하기 - 실습환경 : 코랩( https://colab.research.google.com/?hl=ko ) - 내용 : 빙어 데이터와 도미 데이터를 분류하는 이진 분류 1. 데이터 준비 먼저 도미와 빙어 데이터가 포함된 데이터를 구합니다. 캐글에는 많은 데이터가 제공되고 있습니다. 캐글에서 제공하는 물..

강의자료/머신러닝 2022.11.22 (9)

[정보올림피아드대비]13. 시계문제

시계문제는 시계의 시침과 분침을 연구하는 문제입니다. 시계의 둘레를 60칸으로 나누면 분침이 60칸 움직일때 시침은 5칸 움직입니다. 그러므로 시침의 속도는 분침의 5 / 60 = 1/12 입니다. 따라서 분침과 시침이 현재 만나 있는 상태에서 다음에 만나는 시간은 분침이 이동하는 시간 x = 60 + x * 1/12 이 됩니다. 따라서 x * 11/12 = 60 이므로 x = 60 * 12/11 = 65 와 5/11 분 후에 만나게 됩니다. 시계문제는 다양하고 또 많은 지식도 들어가 있습니다. 여기서 기본 공식을 소개하면 처음 시각에 따라잡아야 할 칸 수 / (1-1/12) = 따라잡는 격시간(분) 이고 그 중 (1-1/2)는 매분 분침이 시침보다 더 간 칸수입니다. 1. 현재 시각은 3시입니다. 분침..

[알고리즘 수학] 두 날짜 사이의 기간 구하기

원당이는 자신이 태어난 날짜 2004 년 1월 14일 입니다. 오늘 날짜 2022년 10월 22일까지 원당이는 자신이 몇일을 살았는지 무척 궁금합니다. 네이버에서 날짜 계산기 프로그램이 있지만 원당이는 굳이 계산기 프로그램은 사용하고 싶지 않습니다. 여기서 윤년은 2월이 29일이고 평년은 2월이 28일 입니다. 윤년의 규칙은 연도가 400의 배수이거나 4의 배수이고 100의 배수가 아닌 연도가 윤년이며 그 외의 년도는 평년입니다. 여러분이 원당이에게 어떻게 해결을 할 수 있는 지 알려 주세요. 문제풀이 프로그램의 원리로 설명을 하면 다음과 같습니다. 0년 0월 0일 부터 2022년 10월 22일 까지의 날짜를 계산 후 0년 0월 0일 부터 태어나기 전인 2004년 1월 13일 까지의 날짜를 계산해서 빼 ..

[캐글(Kaggle) 따라하기]04. 타이타닉 문제 해결하기

학습목표 타이타닉호의 침몰은 역사상 가장 악명 높은 난파선 중 하나입니다. 이 챌린지에서는 어떤 종류의 사람들이 생존할 가능성이 더 높았습니까? 라는 질문에 답하는 예측 모델을 구축하도록 요청합니다. 캐글에서 타이타닉 문제를 해결해 봅니다. 경진대회 참여 1. https://www.kaggle.com/c/titanic 에 접속합니다. 2. Data 카테고리를 클릭하면 다음과 같이 훈련세트와 테스트 세트가 존재합니다. 훈련세트의 필드명의 조건을 확인 합니다. 3. code 를 클릭하여 새로운 노트를 만듭니다. Data 클릭하여 다음과 같이 3개의 파일을 확인 합니다. 4. 데이터 살펴 보기 import pandas as pd train = pd.read_csv('/kaggle/input/titanic/tr..

강의자료/머신러닝 2022.11.15 (6)

[정보올림피아드 대비]12. 비둘기집의 원리를 이용한 문제

비둘기집의 원리는 다음과 같습니다. 비둘기집은 2개이고 비둘기는 3마리입니다. 비둘기가 저녁에 잠을 자기 위해 들어가야 되는데~ 그렇다면 반드시 한개의 비둘기 집에는 비둘기가 2마리 이상 존재하게 된다는 원립니다. 이러한 원리를 다음과 같이 정의 됩니다. n개의 배둘기집과 n+1마리의 비둘기가 있다고 가정한다. 만약 각 비둘기집에 한마리 이하의 비둘기만 들어 있다면, 전체 비둘기집에는 많아야 n마리의 비둘기가 존재한다. 그런데 비둘기는 모두 n+1마리 이므로 이것은 모순이다. 따라서 어느 비둘기집에는 두마리 이상의 비둘기가 있다. 이것을 일반화된 원리로 정의를 하면 다음과 같이 정의 된다. n개의 별개의 사물을 m개의 용기에 담으면 적어도 한개의 용기는 n/m 이상의 사물을 담고 있어야 한다. 1. 어느..

[인공지능 수학] 주성분 분석

1. 주성분 분석(principal component analysis)란? 주성분 분석(PCA)은 고차원의 데이터를 저차원의 데이터로 환원시키는 기법을 말합니다. 이 때 서로 연관 가능성이 있는 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간(주성분)의 표본으로 변환하기 위해 직교 변환을 사용합니다. 이렇게 설명 했을 때 이해하기가 살짝 어려운데요~ 주성분 분석이 어떤 경우에 사용되는지 먼저 살펴 보면 이해하기가 쉽습니다. 인공지능에서는 데이터의 차원이 엄청 많은데요~ 그러다 보니 계산 속도도 느려지고 저장할 수 있는 공간도 어마어마 해 집니다. 가령 3차원의 데이터를 살펴 보면 4 * 4 * 4 형태의 데이터가 있다면 저장할 수 있는 공간은 64개의 메모리 공간이 필요합니다. 이 데이터를 손실 ..

[초등 1학년 1학기] 덧셈과 뺄셈

문제 출처 : https://ko.khanacademy.org/math/kor-1st-1/x22720cd23d5246e1:1-1-3 ​ 덧셈과 뺄셈은 초등학생이 되어 처음 식을 배우는 단원인데요~ 식을 배우기 전에 모으기와 가르기 개념을 익혀 봅니다. ​ 바구니에 사과 2개가 있고 다른 바구니에는 사과가 3개가 들어 있는데 이것을 박스에 모아 담으면 박스에는 5개가 됩니다. ​ 이렇게 2개의 바구니에 있는 것을 박스에 모을때 덧셈이라고 하며 + 기호로 표현 합니다. 즉 2 + 3 = 5 와 같이 표현을 하게 됩니다. ​ 이렇게 모아진 박스의 5개 사과를 바구니에 1개를 덜어내면 박스에는 4개가 남습니다. 이렇게 덜어내는 개념을 뺄셈이라고 하며 - 기호를 사용합니다. 즉 5 - 1 = 4 와 같이 표현을 ..

[알고리즘 수학] 등수 구하기

원당이 반 인원은 10명인데 이번에 시험을 보았는데 친구들 성적을 물어 보니 다음과 같았습니다. [ 85, 90,95,75,100,85,70,95,100] 원당이는 점수는 90점입니다. 그렇다면 원당이는 반에서 몇등을 했을까요? 문제풀이 자신보다 높은 점수가 몇명인지 세어 주면 4명입니다. 4명이 원당이보다 잘했기 때문에 원당이의 등수는 5등입니다. 프로그래밍 문제의 기초문제에서 자주 보이는 유형의 문제입니다. 이러한 문제를 해결 하기 위해서 자신의 등수를 알고 싶을 때 전체를 모두 찾아 보면서 자신 보다 높은 점수의 인원을 센 다음 +1 을 해 주면 자신의 등수가 나옵니다. 만약 모든 사람의 등수를 판별하기 위해서는 이중 반복문으로 첫번째 반복문에서는 구하고 싶은 사람을 선택 해 주고 그 다음 반복문에..

[초등 1학년 1학기] 여러가지 모양 살펴 보기 엔트리로 코딩하기

오늘은 초등 1학년 1학기 2단원 문제에서 나오는 여러가지 모양 살펴 보기를 해 볼께요~​ 수학시간에 배운 모양은 아마도 다음과 같은 모양이었을거예요~ 생활 주변에서 사물의 모양을 보고 어떤 모양인지 찾아 보고 분류 해 볼 수가 있는데요~​ 오늘은 엔트리로 이러한 모양을 이용해서 코딩을 해 볼께요~ ​ 준비하기 ​ 1. 엔트리 사이트 접속(https://playentry.org/) 2. 로그인 한 다음(네이버 아이디 또는 회원가입) 3. 만들기 -> 작품 만들기 로 들어가면 다음과 같은 화면이 뜹니다. ​ 작품만들기 오늘 만들 작품은 엔트리봇이 아닌 무대 위에 정육면체,구모양,원기둥모양의 오브젝트를 올려 놓고 해당 오브젝트를 클릭하면 내가 정육면체인지 구모양인지 원기둥 모양인지 말하도록 코딩을 해 볼꺼예..

[초등 1학년 1학기] 1부터 5까지의 수 세기 엔트리로 만들어 보기

문제 출처 ] https://ko.khanacademy.org/math/kor-1st-1/x22720cd23d5246e1:1-1-1 1. 9까지의 수 | 초등 1학년 1학기 | 수학 | Khan Academy 사물의 성질이 달라도 집합수 측면에서 수가 같음을 인식하여 수 개념을 구성하고 수가 필요한 상황을 통하여 수를 이용했을 때의 편리함을 인식한다. 또한 실생활의 여러 상황에서 9까지의 수 ko.khanacademy.org 오늘은 초등 1학년 1학기 1단원 문제를 엔트리를 이용해서 1부터 5까지의 수세기 문제를 코딩으로 풀어 보겠습니다. ​ 학교에서 배운 수 세기~ 코딩으로 연습하면서 복습하는 시간을 만들어 볼께요. ​ 1은 '하나' 또는 '일'이라고 읽습니다. 2는 '둘' 또는 '이'라고 읽습니다. ..