728x90

Python 97

[Coding Test] 콜라츠 추측

프로그래머스 코딩테스트 1단계 : 콜라츠 추측 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다..

Python/Coding Test 2024.02.21

[Coursera] Advanced Learning Algorithms - 2

참고 아래의 깃허브 주소를 통해 더 자세한 내용 확인 가능 Sugyoeng Github - Machine Learning Study Overfitting Solutions 더 많은 데이터 수집 모델 복잡도 줄이기 정규화 Regularization L1 regularization 가중치의 절댓값을 제약하는 방식 특정 가중치를 0으로 만들어 feature selection 효과를 줌으로써 불필요한 특성 제거 L2 regularization 가중치의 제곱을 제약하는 방식 가중치를 0으로 만들지 않고, 작은 값으로 만들어 모든 특성이 조금씩 모델에 영향을 줄 수 있도록 함 Neural Networks 사람의 뇌를 모방할 수 있는 기계를 만들기 위한 아주 오래된 알고리즘 데이터를 처리하도록 컴퓨터를 가르치는 인공..

Python/개인공부 2024.02.20

[Coursera] Supervised Machine Learning - 2

참고 아래의 깃허브 주소를 통해 더 자세한 내용 확인 가능 Sugyoeng Github - Machine Learning Study Loss function 딥러닝 모델을 학습할 때 정답값과 예측값의 오차를 계산해주는 함수 점수가 높을수록 안좋은 모델 손실함수의 함수값이 최소화되도록 하는 weight와 bias를 찾는 것이 딥러닝 학습의 목표 손실함수의 종류 : MSE, RMSE 등 MSE(Mean Squared Error) : 예측값과 실제값 사이의 평균 제곱 오차 정의 RMSE(Root Mean Squared Error) : MSE에 루트를 씌움으로써 왜곡을 줄여줌 Multiple Linear Regression 독립변수 X의 변화에 따른 종속변수 y의 변화를 선으로 예측하는 기법 중 독립변수 X가 ..

Python/개인공부 2024.02.19

[Coursera] Advanced Learning Algorithms - 1

Evaluating a model 머신러닝을 개발 중이거나 학습 시스템의 성능을 향상할 때 어떤 방법을 어떻게 결정할까? 1. 더 많은 학습 데이터 셋 확보 - 많은 사람들이 더 많은 학습 데이터 셋을 확보하기위해 많은 시간을 소비하지만, 더 많은 학습 데이터 셋이 실제로 도움이 되지 않습니다. 2.피처 셋 작게 만들기 - 과적합을 방지하기 위해 소규모 피처를 신중하게 선택하면서 많은 시간을 소비합니다. 3. 추가적인 피처 설계하기 - 현재 피처 셋이 충분하지 못해서 더 많은 피처를 수집합니다. 4. 고차 다항식 추가하기 5. 정규화 파라미터 람다 값 바꾸기 데이터 셋 : 학습 셋 60%, 교차 검증 셋 20%, 테스트 셋 20% - 학습 셋으로 학습하고, 교차 검증 셋으로 모델을 선택하고, 테스트 셋으..

Python/개인공부 2024.02.18

[Coursera] Supervised Machine Learning - 1

Week 1. Introduction to Machine Learning 머신러닝이란? Arthur Samuel : 명식적으로 프로그래밍하지 않고도 컴퓨터가 학습할 수 있는 능력을 부여하는 연구분야 체커 게임 프로그램 체커 : 체스판에 모양이 같은 말을 놓고 움직여 상대방의 말을 모두 따먹으면 이기는 게임 컴퓨터는 인간이 없는 수 만 번 게임을 반복할 끈기가 있음. 이를 통해 컴퓨터는 수많은 체케 게임 경험을 축적하여 인간을 이길 수 있는 체커 플레이어가 됨 학습 알고리즘 유형 지도 학습(감독형 기계학습) 입력과 출력의 매핑을 학습하는 알고리즘 입력과 출력 쌍으로부터 학습한 후, 새로운 입력값을 받아 적절한 해당 출력값을 생성하는 것 회귀 분석 가능한 무한한 숫자로 숫자를 예측하는 것 (예시 : 집 가격..

Python/개인공부 2024.01.10

[Visualization] folium 라이브러리를 이용한 지도시각화 - 활용

이전 내용 보고오기 !! [Visualization] folium 라이브러리를 이용한 지도 시각화 데이터 불러오기 서울시 범죄율 관련 데이터 코드 보기 import pandas as pd import numpy as np df = pd.read_csv('crime_sum.csv', encoding='cp949', index_col=0) # 총 범죄율 murder = pd.read_csv('살인 범죄율.csv', encoding='cp949', index_col=0) robber = pd.read_csv('강도 범죄율.csv', encoding='cp949', index_col=0) rape = pd.read_csv(&#..

[Visualization] folium 라이브러리를 이용한 지도 시각화

folium 라이브러리 지도의 위치 데이터(위도, 경도)를 이용하여 좌표계 값을 지도위로 시각화 python의 강점인 데이터 수집과 leaflet.js 라이브러리 매핑 강점을 토대로 개발 외부 API를 사용하는 것보다 직관적으로 빠르게 데이터 사용 pandas와 쉽게 연동되어 데이터의 간편한 시각화 기능 leaflet.js 가볍고 간단한 Mapping을 할 수 있는 오픈소스 자바 스크립트 라이브러리 모바일과 PC에서 간결하며 빠르고 높은 사용성을 목표로 설계 하나하나 이미지들이 모여 지도를 구성하는 Tile Map 기반 folium.Map() location : 생성할 지도의 중심 위치(x:위도, y:경도) zoom_start : 처음 줌의 정도(기본 10) width, height : 지도의 가로세로 ..

[Coding Test] 구명보트

프로그래머스 코딩테스트 2단계 : 구명보트 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return..

Python/Coding Test 2023.12.27

[Analysis] Machine Learning 이란?

머신러닝(Machine Learning) 인공지능의 하위 분야 데이터를 통해 기계가 스스로 학습 모델을 도출하고, 새로운 데이터에 대한 추론과 패턴 예측에 활용 1. 머신러닝 관련 용어 데이터(data) : 문서, 사진, 음성, 동영상, 데이터베이스 등 특징(feature) : 각각의 아이템을 설명하는 데 사용하는 구분 가능한 특성 또는 특징의 개수 특징 벡터(feature vector) : 어떤 대상을 표현하는 특징으로 이루어진 n차원의 벡터 특징 추출(feature extraction) : 예측에 영향을 주는 주요 특징 벡터 추출(차원 감소기법을 사용하기도 함[PCA분석]) 학습 데이터 셋(training dataset) : 학습에 사용하는 데이터의 집합 2. 머신러닝 흐름도 학습과 예측 단계로 구성..

Python/Analysis 2023.12.27

[Coding Test] 푸드 파이트 대회

프로그래머스 코딩테스트 1단계 : 푸트 파이트 대회 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 ..

Python/Coding Test 2023.12.27
반응형