data science 47

google notebooklm 소개

LLM 을 이용하여 개인, 회사의 데이터를 기반으로 질문에 대해 답변을 이끌어 내는 RAG(Retrieval Augmented Generation) 이 등장했다. 데이터는 일정 사이즈로 분리가 되어 임베딩(분리된 문장을 일정 사이즈의 Dimension의 값) 되어야 하고 임베딩 간의 유의도 측정이 가능하도록 임베딩 벡터 db에 저장이 되어야 한다.위의 시스템을 구축하기 위해서는 시간, 노력, 비용(임베딩, LLM사용)이 필요하게 된다. 위의 시스템을 무료로 사용가능한 google notebooklm을 소개하고자 한다.https://notebooklm.google.com/ 1. 위 사이트에 구글 계정으로 로그인2. Create new notebook 을 클릭하여 새로운 노트북을 생성 노트북은 사용 용..

data science/python 2025.06.09

SVM(Support Vector Machines) Classifier

별과 삼각형을 분류하기 위해서 가장 넓은 하늘색 공간(maximum marginal hyperplane(MMH))을 찾는 알고리즘이다. 이 공간을 계산하기 위해 인접한 Support Vectors 라 불리는 데이터 포인트를 이용하게 된다. from sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn import svmfrom sklearn.metrics import classification_report, confusion_matriximport pandas as pdimport seaborn as snsiris = sns.load_dataset('iris')X_i..

K-Neighbors Classifier

K-Neighbors Classifier란 분류하고자 하는 샘플(Pt)과 가장 가까운 K개의 이웃들 중 가장 많이 속해있는 클래스를 선택하는 분류기이다.만약 k=3으로 하면 별은 보라색원에 속하는 것이고(보라색원 2 > 노란색원 1)만약 k=6으로 하면 별은 노란색원에 속하게 된다   (보라색원 2   아래는 IRIS 데이터셋의 샘플from sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.metrics import classification_report, confusion_..

Sales data 분석

URL Sales data 로딩Data Processing1. missing data 찾기2. missing data를 로우(axis=0) 단위로 자체(inplace=True)에서 삭제하고 확인하기3.  불순 데이터(엉터리 데이터 = 같은 형타입이 아닌) 삭제4. 중복된 data 보기Feature Engineering1. 주문당 구매액( Total  ) 생성2. Order Date 를 월일시로 분리3. Purchse Address 를 주소, 시, 주, 우편번호로 분리4. State 와 ZIP 으로 재 분리5. 불필요한 칼럼들 삭제6. Order Date 순으로 정렬Sales 분석1. 매출액이 가장 큰 달은?2. 각 달의 요일별 주문수는?3. 시간대별 주문수는?4. 가장 많이 팔린 제품은?5. 각 도시별 ..

data science/pandas 2025.03.12

복수의 DataFrame들을 수직방향으로 통합하기

population_dict = { 'California': 39538223,                               'Texas': 29145505,                                'Florida': 21538187,                                'New York': 20201249,                                'Pennsylvania': 13002700 }population1 = pd.Series(population_dict)population_list = [39538223, 29145505, 21538187, 20201249, 13002700]population2 = pd.Series( population..

data science/pandas 2025.03.12

두개의 Series를 하나의 DataFrame으로 통합

1. Population Series population_dict = { 'California': 39538223,                                'Texas': 29145505,                                 'Florida': 21538187,                                 'New York': 20201249,                                 'Pennsylvania': 13002700 } population = pd.Series(population_dict)  혹은 데이터값이 리스트로 있을 경우population_list = [39538223, 29145505, 21538187, 20201249..

data science/pandas 2025.03.12

Naïve Bayes (나이브 배이스) Classifier - ROC curve

ROC ( Receiver Operating Characteristic) AUC( Area Under the Curve) score 는 binary classifiers의 퍼포먼스 측정에 유명한 메트릭스이다. 평가를 위해선 ROC curve의 밑쪽 면적을 측정하면 다양한 결정 쓰레시홀드에서의 classifier의 평가를 보여준다. ROC curve는 Y축엔 True Positive rate(TPR=Recall), X축엔 False Positive rate(FPR) 를 플롯- TPR : 스팸메일에 대해 스팸이라 판단하는 비율- FPR : 정상메일에 대해 스팸이라 판단하는 비율 binary classifier는 0.5 를 기준으로 판단을 한다. 만약 이 기준(결정 쓰레시홀드)을 임으로 0.1, 0.3, 0...

Naïve Bayes (나이브 배이스) Classifier - 실전 2

import numpy as npimport pandas as pddata_path = 'https://github.com/vandit15/Movielens-Data/blob/master/ml-1m/ratings.dat?raw=true'df = pd.read_csv(data_path, header=None, sep='::', engine='python')df.columns = ['user_id', 'movie_id', 'rating', 'timestamp'] n_users = df['user_id'].nunique()n_movies = df['movie_id'].nunique()def load_user_rating_data(df, n_users, n_movies):    data = np.zeros([n..

if elif 쓰지 않기

종래 방법권고 방법food_item = input("Enter Food Item Name: ")def getPrice(food_item):      if food_item == "Burger":         return 100      elif food_item == "Pizza":         return 200       elif food_item == "Juice":         return 50       elif food_item == "Apple":         return 150print(getPrice(food_item))food_item = input("Enter Food Item Name: ")food_items = { "Burger":100 "Pizza":200 "Juice":..

data science/python 2025.03.04