전체 글 48

[머신러닝] 전처리 (pre-processing)

전처리는 데이터 분석에 적합하게 데이터를 가공, 변형, 처리, 클리닝하는 과정입니다. 데이터가 깔끔하지 않으면 그만큼 이를 처리하는 모델의 성능이 좋지 못한 경우가 많습니다. 그렇기에 머신러닝 학습 전에 전처리를 해야 합니다. 실제로 분석가의 80% 시간을 데이터 수집 및 전처리에 사용하고 있습니다. [pandas] 데이터 전처리 를 학습하고 오시기 바랍니다. 사용 데이터 (타이타닉) 결측치 NULL 데이터에서 .isnull( ) 또는 .isna( ) 함수를 사용해 쉽게 결측값을 찾을 수 있습니다. 만일 결측값의 갯수를 구하려면 .isna( ).sum( ) 을 사용하면 됩니다. 또한 dataFrame['칼럼명'].isnull( ) 을 하게 되면 해당 칼럼 값들만 찾을 수 있습니다. 이렇게 찾은 결측값은 ..

[머신러닝] 회귀(Regression) 선 그래프

[머신러닝] K - 최근접 이웃 회귀 (K-NN Regression) 01과 이어집니다. 01 때는 그래프가 산포도로만 나타나 있었습니다. 이번에는 산포도 위에 그 값에 해당하는 직선과 곡선을 그려보겠습니다. 선형회귀 (linear regression) 널리 사용되는 대표적인 회귀 알고리즘입니다 이 알고리즘을 활용하여 데이터의 a(기울기)와 b(절편)을 찾을 수 있습니다. from sklearn.linear_model import LinearRegression lr = LinearRegression() lr.fit(X_train, y_train) lr.predict([[50]]) KNeighborsRegressor 모델(1033)을 썻을 때와 결과가 다르게 나왔습니다. 이제 이를 표현한 그래프를 그려보겠..

[머신러닝] K - 최근접 이웃 회귀 (K-NN Regression) 01

회귀는 값을 예측하는 것이므로, '새로운 데이터 X가 주어졌을 때, X에 가장 가까운 K개의 데이터 값을 평균내서 값(Y)을 예측하는 알고리즘' 입니다. 실습 - 물고기 무게 예측 물고기의 길이를 입력 데이터(X)로 사용하고, 물고기의 무게를 출력 데이터(Y)로 사용하겠습니다. fish_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.3, 27.5, 27.5, 27.5, 28.0, 28.7, 30...

[머신러닝] K - 최근접 이웃 분류(K-NN Clssification)

K-최근접 이웃(K-Nearest Neighbor)은 머신러닝에서 사용되는 분류(Classification) 알고리즘입니다. 새로운 입력(분류되지 않은 검증 데이터)을 받았을 때 기존 클러스터(군집화)에서 모든 데이터와 인스턴스 기반 거리를 측정한 후 가장 많은 속성을 가진 클러스터에 할당합니다. 실습 - 도미, 빙어 분류 도미와 빙어의 길이(length) 및 무게(weight)를 학습하여 새로운 입력값(length, weight)이 들어왔을 때 도미인지, 빙어인지 분류하는 모델을 만들어보겠습니다. 데이터 생성 # 도미 bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0..

[OpenCV] OpenCV 시작 - 기본

[컴퓨터 비전과 딥러닝 - 오일석] 책 내용 입니다. OpenCV는 인텔 사에서 만들어 공개한 컴퓨터 비전 라이브러리입니다. 이를 구성하는 함수와 클래스는 C와 C++ 언어로 개발했으며, 전체 코드는 180만 라인 이상입니다. 데스크톱 운영체제는 윈도우, 리눅스, macOS를 지원하며, 모바일 운영체제는 안드로이드와 IOS가 있습니다. 처음 해볼 OpenCV 프로그래밍은 폴더에 저장되어 있는 영상 파일을 읽고 화면에 나타내 보겠습니다. import cv2 as cv # opcencv 라이브러리 import sys # 파이썬 시스템 변수 설정 라이브러리 img = cv.imread('이미지.jpg') # 이미지 변수 생성 if img is None: sys.exit('파일을 찾을 수 없습니다') # 파일 ..

Python/OpenCV 2023.04.01

[애플리케이션] 형상관리

형상관리(Configuration Management) 시스템서비스 제공 대상 형상항목을 식별하여 기준선을 설정하고, 형상 항목 변경 과정에서 점검, 검증 등의 체계적인 통제를 통해 형 상항목 간의 일관성과 추적성을 확보하기 위한 시스템. 소프트웨어의 개발 및 운영/유지 보수에 필요한 문서 관리, 변경 관리, 버전 관리, 배포 관리 및 작업 산출물에 대한 형상관리를 포함한다     형상관리 : 계획부터 개발, 운영, 유지 보수, 폐기까지 발생하는 모든 활동을 지속적으로 관리    형상항목 : 형상관리 대상이 되는 항목    기준선 : 검토되고 협의되어 향후 기준이 되는 형상항목의 집합체    리포지터리(Repository) : 관리 대상을 형상관리 스스템으로 일괄 전송하여 저장, 관리하는 저장공간    ..

[pandas] 데이터 전처리

[pandas] 데이터프레임 (DataFrame)과 [pandas] pivot_table, groupby로 이어지는 내용입니다. 특히 '[pandas] 데이터프레임 (DataFrame)' 을 꼭 숙지하시기 바랍니다 사용 데이터 : http://bit.ly/ds-korean-idol Null 값 처리 Null값은 데이터를 처리할 때 반드시 처리해야(수정, 제거...) 하는 값입니다. 심지어 Null의 개념을 만들어낸 당사지도 '몇십 억짜리 실수'라고 할 정도입니다. Null값 확인 .isna()와 .isnull() 매서드를 활용해 Null값의 여부를 확인할 수 있습니다. df.isna() df.isnull() 위처럼 Null값인 데이터를 True로 색인시킵니다. 만일 Null값이 몇 개인지 확인하려면 .i..

Python/Pandas 2023.03.20

[pandas] pivot_table, groupby

[pandas] 데이터 프레임 (DataFrame)과 이어집니다 사용 데이터 : http://bit.ly/ds-korean-idol 데이터 복사 DataFrame 을 복사하려면 new = df.copy( )로 복사 해야 한다. 만일 new = df 형식으로 복사하게 된다면 메모리 주소를 둘이 같이 참조하게 되기 때문에 하나라도 데이터 값이 달라지면 나머지 DataFrame도 데이터 값이 달라진다. new_df = df hex(id(new_df)) # 새 데이터 hex(id(df)) # 기존 데이터 그렇다면 .copy( )를 사용해보자 new_df = df.copy() print(hex(id(new_df))) print(hex(id(df))) 피벗 테이블 (pivot_table) 피벗 테이블은 엑셀의피벗테..

Python/Pandas 2023.03.19

[딥러닝] 이론(1)

딥러닝이란 여러 층을 가진 인공 신경망을 사용하여 학습을 수행하는 것 여기서 '층' 이란 무엇이고, 그의 역활은 무엇인지 그리고 '학습' 이란 무엇인지를 최대한 쉽게 알아보겠습니다. 층 (layer) 층이란 간단하게 말해서 데이터를 처리하는 공간이라 생각하시면 편합니다. 딥러닝에는 기본적으로 데이터를 받아들이는 입력층(input layer) 데이터를 처리하는 은닉층(hidden layer) 최종 결괏값이 포함된 출력층(output layer) 이 있습니다. 이제 이 층을 이루는 페셉트론(perceptron)을 자세히 살펴보겠습니다. 퍼셉트론 (Perceptron) 퍼셉트론이란 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다. 입력 값에 가중치를 곱한다 (값들을 모두 더한 것을 '가중합'이라 합니..

[SQL] DML - 데이터 조작

[SQL] DDL - 데이터 정의와 내용이 이어집니다. DDL (Data Defintion Language) - 데이터 조작 언어 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신 수행 insert 데이터를 삽입한다. insert into 테이블명( 속성 ) values( 값... ); insert into student(sid, name, age, birth) values('10101', '강대순', 17, '07/05/21'); # 속성은 안 적어도 된다 (값을 전부 순서에 맞게 넣을 경우) insert into student values('10102', '김동기', 17, '07/05/11'); insert into student val..

DataBase/SQL 2023.03.16