반응형

SW 2028

Python : Keras : 사람의 정보로 사람의 수입 예측, 분류하기 : 예제

http://archive.ics.uci.edu/ml/datasets/Adult UCI Machine Learning Repository: Adult Data Set Adult Data Set Download: Data Folder, Data Set Description Abstract: Predict whether income exceeds $50K/yr based on census data. Also known as "Census Income" dataset. Data Set Characteristics: Multivariate Number of Instances: 48842 Area: Social Attrib archive.ics.uci.edu 실습에 필요한 데이터는 위 사이트에서 받아 올 수 있습..

SW/Python 2020.02.05

MySQL : 제약조건 : 개념, 예제, 종류

제약조건 컬럼에 저장될 데이터의 조건을 설정하는 것을 제약 조건이라고 합니다. 제약 조건을 설정하면 조건에 위배되는 데이터는 저장할 수 없습니다. 즉, 데이터의 무결성을 보장할 수 있습니다. 데이터베이스 내의 테이블들은 여러 개발자가 사용할 수 있습니다. 테이블을 만들 때 제약 조건을 설정하는 것은 매우 중요합니다. primary key 컬럼에 중복된 데이터를 저장할 수 없습니다. null 값을 허용하지 않습니다. 주로 각 로우를 구분하기 위한 유일한 값을 저장하는 컬럼에 사용합니다. 기본키라고도 부릅니다. foreign key 특정 테이블의 primary key 컬럼에 저장되어 있는 값만 저장할 수 있도록 합니다. 흔히, 참조키, 외래키라고 부릅니다. 지정된 테이블의 기본키 컬럼을 참조하여 참조하는 기..

SW/MySQL 2020.02.04

MySQL : join : 개념, 예제, 사용방법, 장점

데이터 베이스에서 가장 중요한 부분은 데이터를 가져오는 데 걸리는 시간을 최소화하는 것입니다. 데이터 베이스는 저장된 데이터의 총량이 크면 클 수록 데이터를 가져오는데 시간이 오래 걸리게 됩니다. 이 떄문에, 데이터의 중복을 최소화하여 데이터를 빠르게 가져올 수 있도록 테이블을 구성하게 됩니다. 이 과정에서, 테이블을 두 개 이상으로 분리될 수 밖에 없습니다. 데이터 중복의 최소화 고객의 구매 정보를 저장하는 테이블이 있고, 이 테이블은 고객 이름, 고객 전화번호, 상품 이름, 상품 가격으로 구성되어 있따고 가정합니다. 고객이 여러 상품을 구매할 수 있고, 같은 상품을 여러 사람이 구매할 수 있습니다. 따라서 데이터가 상당히 중복될 수 있습니다. 따라서 테이블을 나누면, 데이터의 중복을 최소화할 수 있습..

SW/MySQL 2020.02.03

pywinauto : 원격 접속 에러 : 원인, 방법

원격 실행 가이드 데스크톱 GUI 테스트에서는 일반적으로 마우스 커서를 이동하고 일부 키를 포커스 창에 입력하기 위해 활성 데스크톱이 필요합니다. 그러면 로컬 컴퓨터가 정상적인 사용으로부터 완전히 차단됩니다. 즉, 원격에서 테스트를 실행하는 것은 오류가 나타날 수 있습니다. GUI 테스트로 원격 시스템을 제어하기 위해 알려진 문제와 해결 방법을 수집했습니다. Windows 원격 데스크톱 기능 RDP(원격 데스크톱)는 윈도우즈 OS가 설치된 원격 시스템에 가상 활성 데스크톱을 제공합니다. 두 가지 잠재적인 문제가 있습니다. RDP 창이 최소화되면 기본적으로 원격 PC에는 활성 데스크톱이 없습니다. RDP 연결이 끊어지면 데스크톱이 잠깁니다. 따라서, 원하는 동작을 실행시킬 수 없고, 오류가 발생합니다. 다..

SW/Python 2020.02.02

MySQL : group by, having : 개념, 예제, 사용법

그룹 함수를 사용하면 로우의 수, 총합, 평균, 최대, 최저 값을 가져올 수 있습니다. SELECT 문을 통해 가져온 모든 로우를 하나의 그룹으로 묶고 그 안에서 로우의 수, 총합, 평균, 최대, 최저 값을 구하는 것입니다. Group by 절은 select 문을 통해 가져온 모든 로우를 개발자가 정한 기준에 따라 그룹으로 나눌 수 있습니다. Group by 절을 이용해 그룹으로 나눈 후, 그룹 함수를 사용하면 각 그룹 내에서 로우의 수, 총합, 최대, 최저 값을 구할 수 있습니다 . # 사원의 수를 성별로 구분하여 가져온다. select gender, count(*) from employees group by gender; M 179973 F 120051 # 각 부서에 근무하고 있는 사원들의 수를 가져..

SW/MySQL 2020.02.01

MySQL : view : 사용법, 개념, 예제

view 뷰는 가상의 테이블을 의미합니다. 두개 이상의 테이블을 조인하거나 서브쿼리를 사용하는 select 문은 쿼리문이 복잡해지게 됩니다. 이를 매번 사용하게되면 개발자의 불편함이 따르게 됩니다. 이 떄 조인이나 서브 쿼리를 사용해 얻어진 결과를 뷰로 만들어 놓습니다. 그러면 개발자는 뷰를 통해 결과를 얻어 올 수 있습니다. 뷰는 select 문을 통해 얻어진 결과를 가지고 있는 것이 아닙니다. select 문 자체를 가지고 있어 뷰를 select 하면 이전에 사용한 쿼리문이 실행되어 결과를 가져오게 됩니다. create view 뷰이름 as select 쿼리문 drop view 뷰이름 위 명령어를 가지고 만들고 싶은 테이블을 만들 수 있습니다. 복잡한 쿼리문을 매번 사용하기보다는 테이블을 한번만 호출..

SW/MySQL 2020.01.31

MySQL : 트랜잭션, rollback, commit, save point, truncate : 개념, 사용 방법

트랜잭션 데이터 베이스에서 데이터 처리의 한 단위를 트랜잭션이라고 부릅니다. 대부분의 데이터 베이스는 데이터를 저장하고 수정하고 삭제하는 작업을 바로 물리적인 하드디스크에 저장된 데이터에 반영하지 않습니다. 개발자의 실수로 잘못된 명령문을 입력하였을 경우, 다시 원래 상태로 되돌리기 위한 안전장치입니다. 따라서 개발자가 커밋이라는 작업을 하기 전까지 입력한 명령문은 메모리에서만 동작합니다. 즉, 물리적인 하드디스크에 반영하지 않습니다. 커밋 작업이 발생하면 그떄 하드디스크에 반영하게 됩니다. 개발자가 데이터에 대한 작업을 하기 위해 입력하는 명령문들의 시작부터 커밋까지를 하나의 트랜젝션이라고 합니다. RollBack 데이터의 저장, 삭제, 수정 등의 작업을 하고 난 후 원래의 형태로 되돌리는 작업을 의미..

SW/MySQL 2020.01.30

MySQL : 시퀀스, limit : 사용방법, 예제

시퀀스 로우를 추가할떄, 자동으로 증가하는 값이 저장되는 것을 시퀀스라고 합니다. 시퀀스는 데이터베이스 마다 사용하는 방법이 다르므로 반드시 파악해야 합니다. mysql은 auto_increment 키워드를 설정해주면 됩니다. 데이터를 insert 할 때, auto_increment를 설정한 컬럼은 제외합니다. create table test_table100( data1 int auto_increment, data2 int not null, data3 int not null, constraint pk1 primary key(data1) ); limit select 해서 가져온 로우에서 원하는 범위의 로우만 가지고 올 때 사용합니다. 게시판 등에서 사용하는 페이징 기법을 구현할 떄 사용합니다. 데이터 베이..

SW/MySQL 2020.01.29

MySQL : 테이블, 컬럼 추가, 삭제, 수정, 변경 : 사용 방법, 예제

테이블 변경하기 존재하는 테이블의 이름, 속성 등을 변경할 수 있습니다. 테이블 이름 변경 rename table old_name to new_name table의 이름을 바꾸고 싶을 때 위와 같이 활용해, 이름을 바꿀 수 있습니다. 개발 도중에 이름을 바꾸는 것이 필요할 때 활용하면 됩니다. 컬럼 타입 변경 alter table table_name modify colum type 컬럼의 타입을 변경할 때 사용하는 명령어 입니다. 해당 방식으로 불필요한 메모리나 크기를 줄일 수 있습니다. 컬럼명 변경 alter table table_name change old_column new_column type 컬럼명을 변경할 때 사용하는 명령어입니다. 다만 type 역시 동일하게 적어주어야 합니다. 컬럼 추가 a..

SW/MySQL 2020.01.28

MySQL : 데이터 저장, 삭제, 수정 : 방법, 예제

데이터 저장하기 insert 문을 활용하면 데이터를 저장할 수 있습니다. 이 때, 로우 단위로 저장됩니다. insert into 테이블명 (컬럼명) values (값) insert into 테이블명 values (값) 컬럼에 저장될 값을 지정하지 않으면 null이 저장됩니다. 일반적으로 실수 하지 않도록, 컬럼명을 지정하고 값을 저장하는 것을 추천합니다. 데이터 수정하기 update 문을 활용하면 데이터를 수정할 수 있습니다. update 테이블명 set 컬럼명=값, 컬럼명=값 where 조건식 데이터 삭제하기 delete 문을 활용하면 데이터를 삭제할 수 있습니다. delete from 테이블명 where 조건식 만약 조건식이 없으면 해당 로우가 모두 삭제됩니다.

SW/MySQL 2020.01.27

MySQL : 데이터베이스, 테이블 생성 : 방법, 예제, 팁

데이터 베이스 만들기 데이터 베이스 생성은 create database 구문을 사용합니다. create database 이름 생성한 데이터베이스는 use 문을 이용하여 선택해야 합니다. utf-8 인코딩 타입의 한글을 저장하기 위해서는 언어 타입을 지정해주어야 합니다. create table 이름 character set = 'utf8' collate = 'utf8_general_ci'; 데이터 베이스를 선택한 후에는 create table 명령문을 이용해, 테이블을 생성합니다. create table 이름( 컬럼이름 자료형 제약조건, 컬럼이름 자료형 제약조건 ); 자료형 char(n) : 고정 길이 문자열 ( 최대 225 바이트) varchar(n) : 가변 길이 문자열 (최대 65535바이트) int..

SW/MySQL 2020.01.26

MySQL : 서브쿼리 : 조건문 : 사용방법, 예제

서브 쿼리 쿼리문 안에 쿼리문이 있는 것을 서브 쿼리라고 합니다. 조건문을 만들 떄 값을 직접 지정하지 못하고, 쿼리문을 통해 구해와야 할 경우가 있습니다. 이 떄 서브 쿼리를 통해 값을 구해와 조건문을 완성할 수 있습니다. 예제 # 현재 받는 급여와 평균보다 많이 받는 사원들의 사원 번호, 급여액을 가져옵니다. select emp_no, salary from salaries where salary > (select avg(salary) from salaries where to_date='9999-01-01') and to_date='9999-01-01'; 평균을 가져오는 쿼리를 사용하여, 구하는 예제입니다. # d001 부서에 근무화고 있는 사원들의 사원 번호와 first_name을 가져옵니다. sel..

SW/MySQL 2020.01.25

MySQL : SET(집합 연산) : 합집합, 교집합, 차집합 : 사용방법, 예제

SET 두 select 문을 통해 얻어온 결과를 집합 연산을 통해 하나의 결과로 만드는 것을 set이라고 부릅니다. 합집합, 교집합, 차집합 등 집합 연산을 할 수 있습니다. 집합 연산을 하기 위해서는 두 select문을 통해 가져오는 컬럼이 같아야 합니다. 합집합 두 select 문의 결과를 모두 포함하는 최종 결과를 반환합니다. UNION 중복되는 데이터를 하나만 가져옵니다. UNION ALL 중복되는 데이터도 모두 가져옵니다. 교집합 두 select 문의 결과 중 중복되는 부분만 가져옵니다. 교집합은 join 문을 사용합니다. 차집합 두 select 문에서 중복되는 부분을 제거하고 첫 번째 select 문 결과만 가져옵니다. 차집합은 서브 쿼리를 이용합니다. 예제 select emp_no from ..

SW/MySQL 2020.01.24

MySQL : 그룹함수 : 카운트, 총합, 평균, 최대값, 최저값 : 예제, 사용방법

그룹 함수 조건에 맞는 로우의 컬럼에 대해 집계 값을 가져오는 함수입니다. COUNT(컬럼명) 가져온 로우의 개수를 반환합니다. SUM(컬럼명) 가져온 로우의 해당 컬럼에 저장된 값의 총합을 구합니다. AVG(컬럼명) 가져온 로우의 해당 컬럼에 저장된 값의 평균을 구합니다. MAX(컬럼명) 가져온 로우의 해당 컬럼에 저장된 값 중 최대 값을 가져옵니다. MIN(컬럼명) 가져온 로우의 해당 컬럼에 저장된 값 중 최소 값을 가져옵니다. 예제 # 남자 사원의 수를 구합니다. select count(*) from employees where gender = "M"; # d005 부서 현재 근무하고 있는 사원들의 수를 가져옵니다. select count(*) from dept_emp where dept_no = ..

SW/MySQL 2020.01.23

MySQL : 날짜 함수 : 형식, 날짜, 연산 방법 : 개요, 예제, 방법

날짜 함수 날짜에 대한 작업을 하는 함수들에 대해 알아보겠습니다. now(), sysdate(), current_timestamp() 현재 날짜와 시간을 반환합니다. curdate(), current_date() 현재 날짜를 반환합니다. curtime(), current_time() 현재 시간을 반환합니다. date_add(날짜, INTERVAL 기준값) 날짜에서 기준값 만큼 더합니다. (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) date_sub(날짜, INTERVAL 기준값) 날짜에서 기준값 만큼 뺴줍니다. (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) YEAR(날짜) 날짜의 연도를 가져옵니다. Month(날짜) 날짜의 월을 가져옵니다. MONTH..

SW/MySQL 2020.01.22

MySQL : 문자열 함수 : 합치기, 삽입, 교체, 찾기, 공백 제거, 소문자, 대문자, 거꾸로 : 사용방법, 예제

문자열 함수 컬럼에 저장되어 있는 문자열에 대한 작업을 할 수 있는 함수를 의미합니다. CONCAT(문자열1, 문자열2, ...) 문자열을 합칩니다. INSERT(문자열, 시작위치, 길이, 새로운 문자열) 문자열의 시작위치부터 길이 만큼의 문자열을 제거하고 그 자리에 새로운 문자열을 삽입합니다. REPLACE(문자열, 기존문자열, 새로운 문자열) 문자열에서 기존 문자열을 찾아 제거하고 그자리에 새로운 문자열을 삽입합니다. INSTR(문자열, 문자열2) 문자열1에서 문자열2를 찾아 위치를 반환합니다. 위치는 1부터 시작하며 문자열2를 찾지 못하면 0을 반환합니다. LEFT(문자열, 개수) 문자열의 좌측부터 개수만큼 가져옵니다. RIGHT(문자열, 개수) 문자열의 우측부터 개수만큼 가져옵니다. MID(문자열..

SW/MySQL 2020.01.21

MySQL : 숫자 함수 : 절대값, 올림, 내림, 반올림, 버림, 제곱, 나머지, 최대값, 최소값 : 사용법, 예제

숫자와 관련된 작업을 하는 함수에 대해 알아보도록 하겠습니다. ABS(숫자) : 절대값을 구합니다. CEIL(숫자) : 값보다 큰 정수 중 가장 작은 정수를 구합니다. 소수점 이하 올림을 의미합니다. FLOOR(숫자) : 값보다 작은 정수 중 가장 큰 정수를 구합니다. 소수점 이하 버림을 의미합니다. ROUND(숫자, 자릿수) : 자릿수를 기준으로 반올림합니다. TRUNCATE(숫자, 자릿수) : 자릿수를 기준으로 버림합니다. POW(X, Y) , POWER(X, Y) : X의 Y승을 의미합니다. MOD(분자, 분모) : 분자를 분모로 나눈 나머지를 구합니다. GREATEST(숫자1, 숫자2, ...) : 주어진 숫자 중에 가장 큰 값을 반환합니다. LEAST(숫자1, 숫자2, ...) : 주어진 숫자 ..

SW/MySQL 2020.01.20

머신러닝 : 단순 선형 회귀 분석 : 잔차의 의미 : 추정 방법

잔차의 의미 (Residual) 회귀 계수의 추정에 대해 이해하기 위해서는 잔차를 이해해야 한다고 합니다. 잔차는 실제 출력 변수와 예측한 출력 변수의 차를 의미합니다. 그 차이를 표현하면 위 수식으로 표현할 수 잇습니다. 잔차를 그림으로 본다면 위와 같습니다. 즉, 예측한 식과 실제 값과의 거리들이 표현되고 있는 것을 알 수 있습니다. 잔차의 제곱합 SSE는 아래와 같습니다. 그렇다면 가장 예측력이 좋은 회귀식을 가져오기 위해서는 이러한 SSE 값을 최소화하는 방식으로 추정해나가야 하는 것입니다. 따라서 SSE를 최소화하기 위해 편미분을 합니다. 이러한 방식을 최소자승법이라고도 하며 OLS라고도 합니다. OLS는 ordinary least square method라고 부릅니다. SSE가 가장 작은 지점..

SW/머신러닝 2020.01.19

머신러닝 : 단순 선형 회귀분석 : 개념, 기능, 방법, 개요

회귀분석이란 입력 데이터와 출력 데이터 간의 상호 관련성을 찾으려는 시도가 많이 있었습니다. 따라서, 두 변수 간의 관계식, 관계 정도에 대한 연구가 진행되었습니다. 회귀분석은 주어진 데이터를 기반으로 입력 데이터와 출력 데이터 사이에 수학적 관계에 대한 모형을 추정하는 방법론이라 할 수 있습니다. 회귀분석을 통해 2가지를 기대할 수 있습니다. 변수들 간에 함수 관계가 성립하는지, 만약 성립한다면 입력 변수의 중요도를 파악할 수 있습니다. 또한, 함수 관계를 바탕으로 입력 변수로 출력 변수 값을 추정 또는 예측하는 데 사용가능합니다. 단순 선형 회귀의 회귀식은 위와 같이 나타낼 수 있습니다. B0는 절편, B1은 기울기를 의미합니다. 실제 값은 구하기 어려우며, 추정을 통해 얻어내는 것입니다. 이렇게 추..

SW/머신러닝 2020.01.18

MySQL : 정렬 : order by : 사용법, 기능, 개념

정렬 데이터를 가져올 떄 오 찬수 혹은 내림 차순으로 정렬하여 가져올 수 있습니다. order by 컬럼명 asc : 오름 차순으로 정렬합니다. asc는 생략 가능합니다. order by 컬럼명 desc : 내림 차순으로 정렬합니다. 정렬 기준은 숫자, 문자열, 날짜 모든 컬럼이 가능합니다. 예제 # 사원의 번화와 급여를 가져옵니다. select emp_no, salary from salaries order by salary asc; select emp_no, salary from salaries order by salary; # 사원의 번호와 급여를 가져옵니다. 급여를 기준으로 내림 차순 정렬합니다. select emp_no, salary from salaries order by salary desc;..

SW/MySQL 2020.01.17
반응형