python 58

boj_2193, 이친수, 백준, python

문제 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다. N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 출력 첫째 줄에 N자리 이친수의 개수를 출력한다. 문제풀이 N이 주어지면, N자리 이친수의 갯수를 ..

Chapter3.7 k-최근접 이웃: 게으른 학습 알고리즘, 머신러닝교과서, python

* 본 포스팅은 머신러닝교과서를 참고하여 작성되었습니다. 3.7 k-최근접 이웃: 게으른 학습 알고리즘 이번 장에서 언급할 마지막 지도 학습 알고리즘은 k-최근접 이웃(K-Nearest Neighbor, KNN)이다. KNN은 전형적인 게으른 학습기(lazy learner)이다. 단순하기에 게으르다고 말하는 것이 아니라 알고리즘은 훈련 데이터에서 판별 함수(discriminative functioin)를 학습하는 대신 훈련 데이터셋을 메모리에 저장하기 때문이다. KNN 알고리즘은 매우 간단해서 다음 단계로 요악할 수 있다. 숫자 k와 거리 측정 기준을 선택한다. 분류하려는 샘플에서 k개의 최근접 이웃을 찾는다. 다수결 투표를 통해 클래스 레이블을 할당한다. - 선택한 거리 측정 기준에 따라 KNN 알고리..

Chapter 3.6 결정 트리 학습, 머신러닝교과서, pyhon

* 본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다 3.6 결정 트리 학습 결정 트리(decision tree) 분류기는 설명이 중요할 때 아주 유용한 모델이다. 결정 알고리즘을 사용하면 트리의 루트(root)에서 시작해서 정보 이득(Information Gain)이 최대가 되는 특성으로 데이터를 나눈다. 반복 과정을 통해 리프 노드(leaf node)가 순수해질 때까지 모든 자식 노드에서 이 분할 작업을 반복한다. 트리의 최대 깊이를 제한하여 가지치기(pruning)를 한다. 3.6.1 정보 이득 최대화: 자원을 최대로 활용 import matplotlib.pyplot as plt import numpy as np def gini(p): return p * (1 - p) + (1 - p) * (1 ..

Chapter 3.4 서포트 벡터 머신을 사용한 최대 마진 분류, 머신러닝교과서, python

* 본 포스팅은 머신러닝 교과서를 참고하여 작성되었습니다. 3.4 서포트 벡터 머신을 사용한 최대 마진 분류 서포트 벡터 머신(Support Vector Machine, SVM) : SVM은 퍼셉트론의 확장으로 생각 할 수 있다. SVM의 최적화 대상은 마진을 최대화 하는 것이다. 3.4.1 최대 마진 큰 마진(large margin)의 결정 경계를 원하는 이유는 일반화 오차가 낮아지는 경향이 있기 때문이다. 반면 작은 마진의 모델은 과대적합되기 쉽다. 3.4.2 슬랙 변수를 사용하여 비선형 분류 문제 다루기 슬랙변수 : 오류를 허용하는 '직선', 소프트 마진 분류(soft margin classification) 슬랙 변수는 선형적으로 구분되지 않는 데이터에서 선형 제약 조건을 완화할 필요가 있기 때문..

Chapter3.3 로지스틱 회귀 모델을 사용한 클래스 확률 모델링, 머신러닝 교과서, python

으* 본 포스팅은 머신러닝 교과서를 참조하여 작성되었습니다! 3.3 로지스틱 회귀 모델을 사용한 클래스 확률 모델링 퍼셉트론 규칙은 머신 러닝 분류 알고리즘을 배우기에 간단하고 좋은 모델이지만 가장 큰 단점은 클래스가 선형적으로 구분되지 않을 때 수렴할 수 없다. 여전히 간단하지만 선형 이진 분류 문제에 더 강력한 다른 알고리즘은 로지스틱 회귀(logistic Regression)을 살펴보자. * 이름이 회귀이지만 로지스틱 회귀는 회귀가 아니라 분류모델이다! 3.3.1 로지스틱 회귀의 이해와 조건부 확률 오즈비(odds ratio) : 오즈는 특정 이벤트가 발생할 확률이다. - logit 함수는 0과 1 사이의 입력값을 받아 실수 범위 값으로 반환한다. - 이 함수를 로지스틱 시그모이드 함수(logist..

[Dacon] Basic 축구선수의 유망 여부 예측 AI 경진대회 1, python

대회 출처 링크 : https://dacon.io/competitions/official/236031/overview/description 데이콘 Basic 축구선수의 유망 여부 예측 AI 경진대회 - DACON 분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다. dacon.io 밑바닥부터 시작하는 딥러닝.. 머신러닝 교과서를 공부 중인데, 하루에 한 두시간이라도 뭔가 해보면 좋을 것 같아서 하게 되었다. 예전에 캐글에서 타이타닉 데이터를 분석해보았을 때와 같이 이 데이터도 Classification 문제로 비슷하게 해볼 수 있을거 같아서 시도해보았다. [배경] 안녕하세요 데이커 여러분! 데이콘 Basic 축구선수의 유망 여부 예측 AI 경진대회에 오신 것을 환영합니다! 축구 선..

Chapter3 머신러닝 교과서, python

본 포스팅은 머신러닝 교과서를 참고하여 작성되었습니다. 3.1 분류 알고리즘 선택 알고리즘을 훈련하기 위한 다섯 가지 주요 단계 특성을 선택하고 훈련 샘플을 모은다. 성능 지표를 선택한다. 분류 모델의 최적화 알고리즘을 선택한다. 모델의 성능을 평가한다. 알고리즘을 튜닝한다. 3.2 사이킷런 첫걸음 : 퍼셉트론 훈련 사이킷런 라이브러리를 사용해 퍼셉트론 훈련을 해보자 150개의 꽃 샘플에서 꽃잎 길이와 꽃잎 너비를 특성 행렬 X에 할당하고 꽃 품종에 해당하는 클래스 레이블을 벡터 y에 할당한다. from sklearn import datasets import numpy as np iris = datasets.load_iris() X = iris.data[:, [2,3]] y = iris.target pr..

백준 4948, 베르트랑 공준, python

문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하는 한 줄로 이루어져 있다. 입력의 마지막에는 0이 주어진다. 출력 각 테스트 케이스에 대해서, n보다 크고..

n^2 배열 자르기, 프로그래머스, python

문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤..

주피터 노트북 단축기 정리

코랩을 사용하다가 주피터 노트북을 사용하려고 하다보니.. 코랩과 환경이 조금 달라서 주피트 노트북을 사용하면서 필요한 유용한 단축기를 정리해보았다! Commend Mode Cell의 주요 단축키 A insert cell above R change cell to raw B insert cell below Shift-Enter run cell, select below X cut selected cells Ctrl-Enter run selected cells C copy selected cells Alt-Enter run cell and insert below Y change cell to code Ctrl-S Save and Checkpoint M change cell to markdwon Z undo ce..

데이터분석 2022.11.18