DATA PROGRAMMING/PYTHON(29)
-
파이썬 NUMPY 이미지 파일 색깔 수정하
문제: 이미지 픽셀을 변경해주는 함수를 제작해봅시다. 이미지를 Array로 변환합니다. 주어진 시작 좌표와 가로, 세로 길이만큼 원하는 색상으로 변경합니다. 값을 수정한 Array를 이미지로 만들어서 반환합니다. modify_image() 매개변수 이미지: image: PIL.Image() 시작 x좌표: x: int 시작 y좌표: y: int 가로 길이: width: int 세로 길이: height: int 변경할 색상: color: List[int], 반환값 픽셀 변경을 진행한 이미지 내가 처음 작성한 코드 def modify_image(image,x,y,width,height,color) : image_array = np.array(image) image_array[x:x+width][y:y+heig..
2023.08.03 -
[파이썬] 클래스가 불균형한 데이터 머신러닝 분류 모델 실습
오늘은 학교 실습 시간에 주어진 데이터를 분류하는 모형을 만들어 보려고 한다. 데이터에 대한 정보를 보고 분류 모델을 설정할 전략을 짜고 실제로 코드를 작성하여 실습하고 수정해 나가는 과정에 대해서 다뤄 보겠다. 불균형한 클래스의 데이터 머신러닝 분류 모델 데이터 확인 Feature(입력 변수)가 1,000개, Train set의 두 클래스 원소의 개수가 10배 정도 차이 나는 데이터다. 우선 데이터를 보고 파악한 내용은 입력변수가 매우 많다는 것과, 클래스가 불균형하다는 것이다. 많은 입력변수를 모두 과하게 사용하려다 보면 오버피팅이나 시간이 너무 오래 걸린다는 문제점이 생길 수 있고, 클래스가 불균형하다면 정확도는 높게 나와도 Recall이나 Precision 값이 낮게 나올 수도 있다. 게다가 위 ..
2023.06.04 -
파이썬을 통해 간단하게 학교 성적 평균, 표준편차, 백분위 구하기
교수님이 시험 결과를 발표하셨는데 점수만 공개하시고 다른 추가적인 정보는 공개하지 않으셨다. 학우들의 전체 성적만 나와 있는 상황에서 시험이 어땠는지 파악하기 위해 파이썬을 활용해 보도록 하자! 파이썬으로 평균, 표준편차, 백분위 구하기 (실습) 본 글에서 수행할 내용은 기초적인 파이썬 문법만 익히고 있다면, 쉽게 따라올 수 있는 난이도이다. 교수님께서 올려주신 시험 성적 자료에는 말 그대로 학번과 시험 성적만 포함하고 있다. 대충 눈대중으로 시험을 잘 봤는지 아닌지 파악할 수 있지만, 정확한 나의 위치는 알기 어렵고 결국 최종 성적은 내가 상위 몇프로 안에 들었는지에 의해 결정되므로 내가 정확히 어느 정도 위치인지가 궁금했다. 다행히도 pdf 파일로 올라온 파일은 드래그가 가능했다. 파이참에 복사 붙여..
2023.05.29 -
파이썬 Pandas 기초부터 심화까지 - 1 (인덱싱, loc, 결측치)
오늘은 데이터 프레임을 다루는 대표적인 파이썬의 라이브러리인 Pabdas에 대해 공부해 보려고 한다. PANDAS 기본 학습을 위해 pandas에서 기본적으로 제공하는 train.csv 파일을 이용해 보자. df = pd.read_csv('train.csv') #train.csv가 위치한 경로 지정 !! df df에 csv파일을 읽어 저장해 주면 600행 12열의 데이터 프레임 형태로 출력할 수 있다. 다음은 인덱싱과 슬라이싱에 대해 알아보자. df.loc[0] # Series 형태 df.loc[[0]] # DataFrame 형태 loc[0]를 통해 정보를 불러오면 가장 첫 번째 행을 불러올 수 있고, loc[[0]]을 사용하면 그 행을 데이터프레임 형태로 확인할 수 있다. df['title'] 열에 대..
2023.05.11 -
PYTHON - 생산 및 운영 관리 OR-Tool 활용 Goldratt Problem 풀기
Godratt Problem은 가장 기초적인 LP(Linear Problem)이다. 조건들이 간단하기에 대수적 모형을 만드는 과정은 생략하고 엑셀로만 해결하던 LP문제의 최적해를 파이썬 OR-Tool을 이용해 구해보고자 한다. Godratt Problem 파이썬 OR-Tool 풀이 방법 !pip install ortools #OR-tool 설치 from ortools.linear_solver import pywraplp def main(): solver = pywraplp.Solver.CreateSolver('SCIP') p = solver.IntVar(0, 100, 'xp') q = solver.IntVar(0, 50, 'xq') solver.Add(15*p + 10*q
2023.03.26