| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 반복문
- sklearn
- string
- function
- pandas
- 최솟값
- DataFrame
- matplotlib
- Dictionary
- insert()
- 덴드로그램
- analizer
- data
- elbow method
- count()
- nan
- append()
- hierarchical_clustering
- numpy
- del
- Python
- wcss
- dendrogram
- IN
- 최댓값
- DataAccess
- 분류 결과표
- len()
- Machine Learning
- list
- Today
- Total
목록Python (143)
개발공부
스트림릿 파이썬기반 데이터 분석 대시보드를 만들어주는 웹 개발 프레임워크이다. 설치방법 파이썬 쉘에 아래와 같이 입력해준다. pip install streamlit 이제 비주얼 스튜디오 코드에서 새로운 파이썬 파일을 만들어 아래와 같이 입력해보자. # 스트림릿 라이브러리를 사용하기 위한 임포트 import streamlit as st # 웹 대시보드 개발 라이브러리인, 스트림릿은, # main 함수가 있어야 한다. # 실행 방법 streamlit run 파일명 def main() : st.title('Hello World') if __name__ == '__main__' : main() 그후 터미널을 열어 'streamlit run 파일명' 을 적으면 streamlit이 실행된다. 그러면 아래와같은 웹이..
협업필터링 (Collaborative Filtering) 사용자와 item 간의 rating을 이용해서 사용자끼리 유사도를 찾는 방식이다. 특정 사용자와 유사한 사용자들이 남긴 평점, 상품구매 이력등 행동양식 기반으로 예측해서 추천해준다. 그래서 item을 얼마나 좋아할 것인지를 수치적으로 예측한다. 아이템기반 협업필터링 (Item based collaborative filtering) 사용자가 아니라 아이템을 파라미터로 하여 협업필터링하는 방법이다. 이템 기반 협동적 필터링은 대부분의 사람들이 과거에 자신이 좋아했던 상품과 비슷한 상품이면 좋아하는 경향이 있고 반대로 싫어했었던 상품과 비슷한 상품이면 싫어하는 경향이 있다는 점을 기반으로 하고 있다. 이 필터링 방법은 고객이 선호도를 입력한 기존의 상품..
groupby() 로는 년, 월, 일, 시, 분, 초 단위 등으로 묶을 수 없다. resample() 함수는 이를 가능하게 해준다. 먼저 Date 컬럼을 인덱스로 만들어주면 resample 함수를 사용할 수 있게 된다. 이 함수를 통해 년, 월, 일, 시 등등으로 묶어서 처리가 가능해 진다. 아래와 같은 데이터 프레임이 있다. 시카고 에서 일어난 범죄에 대한 데이터이다. 이 데이터 프레임의 인덱스를 Date 로 바꿔준다. # 해당 컬럼은 그대로 놔두고 인덱스로도 사용 chicago_df.index = chicago_df['Date'] chicago_df 이제 resample() 을 이용해보자 년도로 리샘플한 후, 년도별 몇개의 범죄 데이터를 가지고 있는지 확인하기 df_year = chicago_df.r..
df 속성을 이용하면 datetime 형식의 데이터에서 각 년, 월, 일, 시, 분, 초 등 원하는 기준으로 데이터를 읽어낼 수 있다. import pandas as pd dates = ['2012-02-04 09:10:00', '2017-07-07 14:10:00', '2019-11-08 15:20:10', '2021-12-22 22:15:30'] dates = pd.to_datetime(dates) df = pd.DataFrame(data = {'Date' : dates}) df # 날짜 전체 읽기 >>> df['Date'].dt.date 0 2012-02-04 1 2017-07-07 2 2019-11-08 3 2021-12-22 Name: Date, dtype: object # 년만 읽기 >>> d..
pandas.read_csv로 csv파일을 읽어올 때 가끔 중간에 이상한 구간이 있어서 전체를 불러올 때 오류가 생기는 경우가 있다. 이럴때는 error_bad_lines=False 파라미터를 추가하면 에러가 나는 라인은 제외하고 정상적인 라인들만 읽어오게 된다. 위와 같이 에러가 나온곳을 스킵했다는 것을 볼 수 있다.
Prophet 시계열 예측 라이브러리 facebook의 데이터 사이언스 팀에서 출시한 오픈 소스 소프트웨어 예제 Prophet을 파이썬에서 사용하려면 from fbprophet import Prophet 를 선언해야한다. 그리고 datetime형식의 컬럼과 예측하고자하는 컬럼을 가져와야 한다. 아래의 데이터프레임을 예로 해보자. 그리고 각 컬럼은 ds와 y로 컬럼명을 바꿔줘야 한다. avocado_prophet_df.columns = ['ds', 'y'] avocado_prophet_df.head() 이제 이 데이터로 예측을 해보자. # 1. 변수로 만들고 prophet = Prophet() # 2. 기존의 데이터로 학습 시키기 prophet.fit(avocado_prophet_df) # 365일치를 예..
WordCloud wordcloud 라이브러리가 제공하고 많이 나온 단어를 시각화 할 수 있다. STOPWORDS 불용어라고 한다. 필요없는 단어를 지칭한다. 예제 아래와같은 리뷰 문자열이있다. from wordcloud import WordCloud, STOPWORDS import matplotlib.pyploy as plt my_stopwords = STOPWORDS # 불용어에 Alexa도 추가한다. my_stopwords.add('Alexa') # 배경색은 white 불용어는 my_stopwords wc = WordCloud(background_color='white', stopwords= my_stopwords) # 워드클라우드 생성 wc.generate(reviews) plt.imshow(wc..
CountVectorizing 카운터 벡터라이징 여러개의 문자열데이터에서 각 단어별로 쪼개 해당 단어가 몇개씩 나왔는지 계산해 변환해준다, 예제 from sklearn.feature_extraction.text import CountVectorizer sample_data = ['This is the first document', 'I loved them', 'This document is the second document', 'I am loving you', 'And this is the third one'] vec = CountVectorizer() #fit_transform() 함수를 사용해 sample_data의 문자열의 모든 단어에 대해 # 각 리스트요소마다 각 단어에 대해 몇개씩 있는지를 학..
구두점 제거 아래와 같은 테스트 문자열의 구두점을 제거해보자. Test = 'Here is a mini challenge, that will teach you how to remove stopwords and punctuations!' 파이썬의 string은 구두점을 제공해준다. import string string.punctuation 제거하는 코드는 다음과 같다. Test_punc_removed = [char for char in Test if char not in string.punctuation] Test_punc_removed_join = ''.join(Test_punc_removed) Test_punc_removed_join 그럼 아래와같은 결과를 얻는다. StopWords (불용어) 제거 ..
Grid Search 우리가 지정해준 잠재적 Parameter 들의 후보군 조합중에서 가장 최적의 조합을 찾아준다. sklearn 라이브러리에서 이를 제공해 주고 있어 쉽게 사용 가능하다. 예제 from sklearn.model_selection import GridSearchCV 우리는 Support Vector Machine 방식을 사용하겠다. # 파라미터의 조합으로 사용할 값들을 설정해준다. param_grid = { 'C' : [0.1, 1, 10, 100], 'kernel' : ['linear', 'rbf', 'poly'], 'gamma' : [1, 0.1, 0.01]} # estimator : classifier, regressor, pipeline 등 가능 # refit : True가 디폴트..