본문 바로가기

분류 전체보기

(54)
Streamlit : 스트림릿의 다양한 UI 함수들 정리 from pandas import isnull from sqlalchemy import null import streamlit as st def main(): # 유저한테 입력을 받는 방법 # 1. 이름 입력 받기 name = st.text_input('이름을 입력하세요!') if name: st.subheader(name + '님 안녕하세요??') st.subheader(address) #2. 입력 글자 갯수 제한 address = st.text_input('주소를 입력하세요') #3. 여러 행을 입력 가능하도록 message = st.text_area('메세지를 입력하세요', height=3) st.subheader(message) #4. 숫자입력, 정수 st.number_input('숫자 입력', ..
Streamlit : 파이썬개발을 위한, 비주얼 스튜디오 코드 셋팅방법 import streamlit as st def main(): st.title('웹 대시보드') st.text('웹 대시보드 개발하기') name = '홍길동' # 제 이름은 홍길동입니다. print('제 이름은 {}입니다.'.format(name)) st.text('제 이름은 {}입니다.'.format(name)) st.header('이 영역은 헤더 영역') st.subheader('서브헤더 영역') st.success('작업이 성공했을때 사용') st.warning('경고 문구 보여주고 싶을때 사용') st.info('정보를 보여주고 싶을때 사용') st.error('문제가 발생했을때 사용') # 파이썬의 함수 사용을 보여주고 싶을때 st.help(sum) st.help(len) if __name__..
Streamlit : 비주얼 스튜디오 코드의 터미널을 이용해서 스트림릿 실행하는 방법 ########파일 업로드 방법######## ########이미지 파일, csv 파일 업로드######## from numpy import isfortran from sklearn.ensemble import IsolationForest import streamlit as st from PIL import Image import pandas as pd import os from datetime import datetime # 디렉토리 정보와 파일을 알려주면, 해당 디렉토리에 # 파일을 저장하는 함수 def save_uploaded_file(directory, file) : # 1.디렉토리가 있는지 확인하여, 없으면 디렉토리부터만든다. if not os.path.exists(directory) : os...
SQL : 데이터 중복제거 distinct DISTINCT란 중복제거 키워드입니다. SELECT로 DB에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다. -- 테이블에서 필드에 대해 중복제외하여 출력 SELECT DISTINCT 필드 FROM 테이블. use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 200..
SQL : CASE문 작성법 (and/or/when/where.......) AND : 조건을 모두 충족하는 것 페이지(pages)가 100이상이고 200이하인 데이터 출력 100이상이고 200이하의 조건을 모두 충족해야하므로 and 사용 select * from books where pages >= 100 and pages 1900 and title like '%novel%'; -- author_lname이 Egger 이거나 출간년도가 2010보다 큰 책을 -- 가져오시오. select * from books where author_lname = 'Eggers' or released_year > 2010; -- 무엇과 무엇 사이의 데이터를 가져올때 !! -- 년도가 2004년부터 2015년 사이의 책 데이터를 가져오시오. select * from books where relea..
SQL : MySQL에서 날짜 데이터를 저장하는 데이터타입/ DATE,TIME,DATETIME,TIMESTAMP -- 시간을 처리하는 방법 -- date, time, datetime -- date YYYY-MM-DD -- time HH:MM:SS -- datetime YYYY-MM-DD HH:MM:SS insert into people2 (name, birthdate, birthtime, birthdt) values ('Padma', '1988-11-11', '10:07:35', '1988-11-11 10:07:35'), ('Larry', '1994-04-22' , '04:10:42', '1994-04-22 04:10:42'); select * from people2; -- 현재 시간과 관련된 함수 3개, curdate(), curtime(), now() select now(); insert into people2..
SQL : Group by / Order by -- 각 작가별로, 자신이 쓴 책의 최소 년도는? -- 작가의 성과 이름, 그리고 최소년도가 나오도록 가져오세요. -- 각 작가별로, 자신이 쓴 책의 페이지가 가장 많은 책의 페이지 수를 -- 작가의 성과 이름, 그리고 최대 페이지 수로 나오도록 가져오세요. select author_fname, author_lname, min(released_year) from books group by author_fname, author_lname; select author_fname, author_lname, max(pages) from books group by author_fname, author_lname; -- 이 테이블의 페이지수 총 합은? select sum(pages) from books; -- 각 작..
SQL : 문자열 검색에 유용한 like 사용법 -- 문자열 포함 (Serach) : like 키워드 -- 내가 찾고자 하는 문자열이, 컬럼에 포함되어 있는지 확인하는 방법. -- 책 제목에 the 라고 들어있는 책만 가져오시오. select * from books where title like the; -- the로 시작하는 책만 가져오시오. select * from books where title like '%the' ; -- author_fname애 da라고 들어있는 작가의 -- 책 제목, author_fname, 페이지수를 가져오시오. select title, author_fname, pages from books where author_fname like '%da%' ; -- 언더스코어 기호를 이용한 쿼리문. -- 언더스코어 갯수만큼, 숫자가..
SQL : 페이징(paging)에 사용되는 limit와 offset -- 책테이블의 데이터를 3개만 가져오시오(방법1) select * from books limit 3; -- 최신책을 기준으로 3개만 가져오시오. (방법2) select * from books order by released_year desc limit 3, 3; -- 하나만 쓰면 갯수, 왼쪽이 오프셋, 오룬쪽이 갯수 select * from books order by released_year desc limit 6, 3 ; -- 최신책을 기준으로 10번째 책부터 끝까지 가져오시오. select * from books order by released_year desc limit 9, 1999999999;
SQL : 내림차순(desc),오름차순(아무것도 안쓰거나, asc) -- 내림차순 정렬은 desc 이고, -- 오름차순 정렬은 디폴트이므로, 아무것도 안쓰거나, asc라고 써주면 된다. 책제목 내림차순으로 가져오라 (desc) select * from books order by title desc; 책제목 오름차순으로 가져오라 (아무것도 안쓰거나, asc) select released_year, title from books order by released_year desc; -- full name을 내림차순으로 정렬하고, 책 페이지가 많은것부터 가져오세요. select *, concat(author_fname, ' ', author_lname) as full_name from books order by 8 desc, 7 desc;
SQL 진행중 select distinct / 데이터정렬 order by use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 2001, 287, 428), ('Lincoln In The Baardo', 'George', 'Saunders', 2017, 111, 388); select * from books; -- distinct 판다스의 유니크와 비슷함 -- author_lname의 이름을 중복없이 가져오세요. select distinct au..
SQL : MySQL Workbench를 이용해서 테이블 생성하기 use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 2001, 287, 428), ('Lincoln In The Baardo', 'George', 'Saunders', 2017, 111, 388); select * from books; -- distinct 판다스의 유니크와 비슷함 -- author_lname의 이름을 중복없이 가져오세요. select distinct au..
python pandas resample [ resample() 메소드의 시간 단위 구간 설정 ] 살짝 참고만 하면 좋다. - 5분 단위 구간 : resample('5T') - 10분 단위 구간 : resample('10T') - 20분 단위 구간 : resample('20T') - 1시간 단위 구간 : resample('1H') - 1일 단위 구간 : resample('1D') - 1주일 단위 구각 : resample('1W') - 1달 단위 구간 : resample('1M') - 1년 단위 구간 : resample('1Y') # resample 'Y' 는 년도다. 년도로 리샘플한 후, 각 년도별 몇개의 범죄 데이터를 가지고 있는지 확인한다. in : df_year.chicago_df.resample('YS').size YS ( year st..
Machine Learning : 문자열 데이터를 숫자로 바꿔주는 CountVectorizer와 analyzer파라미터 문자열 데이터를 숫자로 바꿔주는 CountVectorizer와 analyzer파라미터 analyzer 파라미터는 학습단위를 결정하는 파라미터입니다. word, char 2가지 옵션 정도를 고려해볼 수 있습니다. analyzer = 'word'라고 설정시, 학습의 단위를 단어로 설정합니다. (ex - home, go, my ...) analyzer = 'char'라고 설정시, 학습의 단위를 글자로 설정합니다.(ex - a, b, c, d ...) 나이브 베이즈를 이용한 스팸 분류 PROBLEM STATEMENT 5,574개의 이메일 메시지가 있으며, 스팸인지 아닌지의 정보를 가지고 있다. 컬럼 : text, spam spam 컬럼의 값이 1이면 스팸이고, 0이면 스팸이 아닙니다. 스팸인지 아닌지 분류하는 ..
Machine Learning : Hierarchical Clusting의 Dendrogram 설명 Cust_Spend_Data.csv 파일을 통해서 고객의 의류소비, 음료소비, 음식소비 대이터를 통해서 비슷한 고객으로 그루핑 하자 import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('data/Cust_Spend_Data.csv') X = df.iloc[:, 2:] import scipy.cluster.hierarchy as sch sch.dendrogram( sch.linkage(X, method='ward') ) plt.title('Dendrogram') plt.xlabel('Customers') plt.ylabel('Eculidaen Distances') plt.show() out in X.s..
Machine Learning : K-means 의 WCSS와 Elbow Method 설명 K-Means Clustering Unsupervised Learning 이다. k 개의 그룹을 만든다. 즉, 비슷한 특징을 갖는 것들끼리 묶는것. - 다음을 두개, 세개, 네개 그룹 등등 원하는 그룹으로 만들 수 있다. 알고리즘 Random Initialization Trap 다음과 같은 데이터 분포가 있다고 치자. 우리가 원하는 클러스터링 그룹화는, 아래와 같은 것이다. 원치 않는 그룹화가 되어버렸다! Choosing the right number of clusters 몇개로 분류할지는 어떻게 결정하는가? K의 갯수를 정하는 방법 within-cluster sums of squares 센터가 원소들과의 거리가 멀수록 값이 커진다. 따라서 최소값에 가까워지는 갯수를 뽑되, 갯수가 너무 많아지면 차별성이..
Machine Learning : WordCloud 라이브러리 사용법과 Stopwords 적용하는 방법 실습 1. 패키지 설치 프로젝트를 위해, 아나콘다 프롬프트를 실행하고, 다음을 인스톨 한다. conda install -c conda-forge wordcloud IMPORTING DATA 아래코드를 실행시킨다. # import libraries import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sb %matplotlib inline 실습 2. pandas로 파일 읽기 - 탭으로 되어 있는 tsv 파일 읽기 df = pd.read_csv('data/amazon_alexa.tsv' , sep='\t') 실습 3. verified_reviews 컬럼의 내용이 어떤지 확인해 보세요 df.loc[:, '..
Machine Learning : Hierarchical Clustering Amazon Echo Reviews Analysis 데이터셋은 아마존의 알렉사 제품에 대한, 3000개의 리뷰로 되어있습니다. 컬럼은 rating, date, variation(제품모델), verified_reviews, feedback Dataset: www.kaggle.com/sid321axn/amazon-alexa-reviews Hierarchical Clustering Library imfort 실행하기 import numpy as np import matplotlib.pyplot as plt import pandas as pd dataset 읽어오기 df = pd.read_csv('data/Mall_Customers.csv') X = df.iloc[:, 3:] X.head() Dendrogram..
Machine Learning and Data Preprocessing(Supervised , Unsupervised/Regression(회귀) 과 Classification(분류)/ 카테고리컬 데이터를 처리하는 방법 - Label encoding / One Hot encoding/Feature Scailng : StandardScaler, MinMaxScaler Machine Learning and Data Preprocessing 머신러닝으로 할 수 있는 것 편지봉투에 손으로 쓴 우편번호 숫자 자동 판별 의료 영상 이미지에 기반한, 종양 판단 의심되는 신용카드 거래 감지 블로그 글의 주제 분류 고객들을 취향이 비슷한 그룹으로 묶기 머신러닝 : Supervised , Unsupervised 문제와 데이터 이해하기 가지고 이는 데이터가 내가 원하는 문제의 답을 가지고 있는가? 내 문제를 가장 잘 해결할 수 있는 머신러닝 방법은 무엇인가 문제를 풀기에 충분한 데이터를 모았는가? 머신러닝의 성과를 어떻게 측정할 것인가 용어 및 설명 레퍼런스 : https://www.youtube.com/watch?v=KDrys0OnVho Supervised Learning 우리는 I..
Pandas : 대중교통 / 범죄현황 / seaborn / pairplot subwayfee.csv 파일을 통한 지하철 유무임별 이용현황 데이터 분석 자료출처 : t-money.co.kr 에서 자료를 제공함. df = pd.read_csv('data/subwayfee.csv', encoding='cp949') df.head(3) df['역ID'].nunique() df['지하철역'].nunique() df['호선명'].nunique() df['호선명'].unique() #####out array(['1호선', '2호선', '3호선', '4호선', '경부선', '경인선', '경원선', '안산선', '과천선', '분당선', '일산선', '중앙선', '장항선', '경의선', '경춘선', '수인선', '경강선', '5호선', '6호선', '7호선', '8호선', '9호선', '공항철도..