목록분류 전체보기 (282)
Hayden's Archive
인공지능 => 파이썬, 수학 image generator하는 기술 -> 상상할 수 없는 수학적 공식 들어감. back propagation -> 딥러닝 전체 3~4번째로 어려움. 수학. 머신에서 어떻게 작업하는지 알 수 없음... Black Box => AI 깊게 들어가면 이런 이유로 학습에 어려움이 있음. => But 이런 것들 없이 접근 가능. 걸림돌이 아님. 만만하게 보지 말고 천천하게 갈 것. 한번에 깊이 못 봄. 코드 이해한다고 해서 이해가 안 됨. 코드는 간단하지만 그 안에서 작업들이 일어나는지에 대한 개념을 머릿속에서 그려야 함. 내부적으로 어떻게 돌아가는지 기본적인 것들을 최대한 이해해야 함. 머신러닝 파트, 딥러닝 파트 둘 다 인공지능인데 머신러닝의 서브셋이 딥러닝. 더 깊게 들어감. 이..
R Gui에 관한 간단한 설명 : https://www.youtube.com/watch?v=pGhjRJ9le7g 방통대 데이터정보처리입문 강의를 들으면서 R을 다운받고 간단한 코드를 작성하였다. R 프로그래밍에서 주로 사용되는 IDE는 R Studio지만 R을 설치하면서 기본적으로 설치되는 RGui를 먼저 사용해보았다. R만 공부할 당시에는 잘 몰랐는데 파이썬을 공부하고 R을 다시 보니까 데이터 분석을 할 때 왜 파이썬을 사용하는지 너무도 잘 알겠다. 데이터 분석에서 R도 많이 쓰지만 파이썬은 라이브러리가 R과 비교할 수 없을만큼 매우 강력하다. 파이썬에 비하면 R이 비교적 쉽게 느껴지지만 그러기엔 파이썬의 장점이 너무도 뚜렷하다. 여하튼 R을 간단하게 공부했었는데 그 때의 코드를 포스팅한다. 현재 1학..
* 다이나믹 프로그래밍 = 동적 계획법 - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 * 큰 문제를 작은 문제로 나누는 알고리즘 1) 다이나믹 프로그래밍(Dynamic Programming) 2) 분할 정복(Divide & Conquer = D&C) -> 공통점 : 큰 문제를 작은 문제 여러개로 나눠서 푼다. -> 차이점 : 다이나믹 프로그래밍은 큰 문제를 작은 문제로 나눴을 때 중복이 가능 / 분할 정복은 큰 문제를 작은 문제로 여러개로 나눴을 때 절대로 중복이 일어나지 않는다. * 다이나믹으로 풀 수 있는 문제의 속성 1) Overlapping Subproblem : 겹치는 부분(작은) 문제 (큰 문제를 여러개의 작은 문제로 나눈 다음 다시 그 답을 이용해서 원래 문제를 푼다. 이 작은 문제들이 중..
seaborn은 matplot과 함께 Graph Visualization을 하기 위한 파이썬 API 먼저 seaborn을 쓰기 위해 아래와 같이 import한다. import seaborn as sns 시작하기 전에 아래처럼 기본적으로 적어주면 편함 import matplotlib.pyplot as plt import numpy as np import pandas as pd from pandas import DataFrame, Series import seaborn as sns seaborn.pydata.org/ seaborn: statistical data visualization — seaborn 0.10.1 documentation Seaborn is a Python data visualizatio..
* 히스토그램 Histogram 그리기 count는 전체의 count가 될 수 있음 value_counts()-> x축 각 값마다의 count를 센다. 히스토그램은 계급별 도수의 개수 plt.hist? 에서 Returns 보면 n과 bins, patches가 리턴되는 것을 알 수 있음 * 그래프에서 한글 깨지는 현상 방지 코드 import platform from matplotlib import font_manager, rc plt.rcParams['axes.unicode_minus'] = False if platform.system() == 'Darwin': rc('font', family='AppleGothic') elif platform.system() == 'Windows': path = "c:/..
matplot 시작 Plot 직선 그리기 Plot 그래프에 옵션 추가하기 겹쳐진 그래프 그리기 파도 모양의 그래프 Pandas 데이터를 이용한 Visualization 산점도(Scatter) 그래프 그리기 Subplot 으로 plot(), scatter(), bar() 동시 이용하기 * matplot 시작 matplotlib cmap 검색하고, matplotlib.org/3.1.0/tutorials/colors/colormaps.html 데이터 분석한 다음에 시각화할 때 그래프 적용 tutorial 참고하면 됨. examples에 들어가면 이 안에 거의 모든 그래프가 있음. 문법은 API에 다 있음. 위로↑ * Plot 직선 그리기 위로↑ * Plot 그래프에 옵션 추가하기 위로↑ * 겹쳐진..
백준 11005번 : 진법 변환 2 알고리즘 문제 출처 : https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 �� www.acmicpc.net 내가 작성한 코드 10진법 수 N을 B진법으로 바꾸려면 N이 0이 될 때까지 나머지를 계속해서 구하면 된다. import java.util.Scanner; public class Main { public static StringBuilder change(int n, int b) { StringBuilder sb = new Str..
알고리즘 문제 출처 : https://www.acmicpc.net/problem/17087 17087번: 숨바꼭질 6 수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이� www.acmicpc.net 내가 작성한 코드 수빈이와 동생들과의 거리의 절대값들을 각각 구한 뒤 그 값들의 최대공약수를 구해주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static lon..
데이터 그룹연산 - groupby() 실전데이터 응용하기 알아두어야 할 함수들 피벗 테이블 pivot_table() 실전데이터 Pivot_Table 응용 문제1 문제2 사용자 함수 정의 * 데이터 그룹연산 - groupby() 위로↑ * 실전데이터 응용하기 위로↑ * 알아두어야 할 함수들 argmin(), argmax() => 굉장히 중요한 함수. 최솟값, 최댓값을 가지고 있는 인덱스를 반환 describe 통계적인 정보를 요약해서 출력해줌 위로↑ * 피벗 테이블 pivot_table() ★중요(엑셀 다룬 사람들은 피벗 테이블 많이 봤을 것) 기존 데이터를 DataFrame으로 받아오면 그걸 변형해서 써야 하는데 그걸 Pivot Table이라고 함 -> 주로 인덱스를 재조정(일종의 그룹핑) ..