본문 바로가기

전체 글

(21)
추천시스템 1. 컨텐츠 기반 필터링(Contents-based Filtering) 아이템에 대한 프로필 데이터를 이용해 과거에 사용자가 좋아했던 아이템과 비슷한 유형의 아이템을 추천하는 시스템을 컨텐츠 기반 필터링이라고 합니다. 핵심은 사용자가 이전에 높은 평점을 주었던(좋았다고 평가했던) 아이템 A와 유사한 아이템 A'를 찾는 것이죠. 물론 이 아이템 A'는 사용자가 과거에 경험하지 않았던 아이템이어야 합니다.예를 들어, 사용자가 영화 캡틴마블을 재밌게 보았다면 캡틴 마블에 대한 설명을 바탕으로 성격이 유사한 영화 블랙 위도우를 추천하는 것이죠.   2. 컨텐츠 기반 필터링의 분석 절차 1. 이미지, 음성, 태그, 상품 설명서, 리뷰 등과 같은 아이템의 설명으로부터 아이템의 특징을 추출합니다.이때 아이템의 설명을..
VOLUME.B: Dart 언어 기초 이해 겨울방학을 맞아 처음으로 새로운 언어를 공부해 보려고 합니다. 바로 'Dart'라는 언어인데요 이 언어는 2011년도에 나온것으로 비교적 최신 언어라고 볼 수 있습니다. CHAPTER. 1 - DartPad를 이용하여 개발 환경 구축하기 웹 브라우저를 열고 https://dartpad.dev/? 에 접속합시다. 이렇게 별도의 개발환경을 설치하지않고 웹 브라우저를 통해서 Dart라는 언어를 공부할 수 있게 만들어놓은 사이트입니다. 당분간은 이 웹을 이용해 공부를 하게될 것 같습니다. 더보기 CHAPTER. 3 - 기초적인 숫자와 문자 다루기 문법 의미 주요특징 int 정수 -9,007,199,253,740,992 ~ 9,007,199,254,740,992 double 실수 최대 1.7976931348623..
데이터 가공하기 데이터 병합하기 # 실습을 위한 데이터 프레임 만들기 1 adf = pd.DataFrame({"x1" : ["A","B","C"], "x2": [1,2,3]}) adf # 데이터 프레임 만들기 2 bdf = pd.DataFrame({"x1" : ["A","B","D"], "x3": ["T","F","T"]}) bdf # 데이터 프레임 만들기 3 cdf = pd.DataFrame({"x1" : ["B","C","D"], "x2": [2,3,4]}) cdf 70. 왼쪽 열을 축으로 병합하기 pd.merge(adf, bdf, how='left', on='x1') # x1을 키로 해서 병합, 왼쪽(adf)를 기준으로 # 왼쪽의 adf에는 D가 없으므로 해당 값은 NaN으로 변환 71. 오른쪽 열을 축으로 병합하..
이론 > 트랜스퍼 러닝 트랜스퍼 러닝 : 특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용하는 기법. - 태스크1: 업스트림 태스크(ex. 다음 단어 맞히기, 빈칸채우기 등) / 태스크2: 다운스트림 태스크(ex. 문서 분류, 개체명 인식 등) - 프리트레인: 업스트림 태스크를 학습하는 과정 - 기존보다 모델의 학습 속도가 빨라지고 새로운 태스크를 더 잘 수행하는 경향이 있다. 업스크림 태스크 대표적인 태스크 가운데 하나가 다음 단어 맞히기 입니다. GPT 계열 모델이 바로 이 태스크로 프리트레인을 수행합니다. 예를 들어 티끌 모아라는 문맥이 주어졌고 학습 데이터 말뭉치에 티끌 모다 태산이라는 구가 많다고 하면 모델은 이를 바탕으로 다음에 올 단어를 태산으로 분류..
버스 운행 시간 예측 프로젝트 - 데이터 분석을 위한 중요 개념 1) Featrue vs Target + Feature: 예측을 위해 활용되는 데이터 ( 독립변수 X라고도 함 ) + Target: 예측하고자 하는 대상 ( 종속변수 y라고도 함 ) 2) Numerical Data vs Categorical Data + Numerical Data: 수치형 자료, 숫자로 측정할 수 있는 자료 ex) 기온, 풍속, 체중 등 + Categorical Data: 범주형 자료, 숫자로 측정할 수 없는 자료 ex) 날씨, 혈액형, 성별 등 3) Regression vs Classification + Regression: 회귀 ( 수치형 데이터 예측에 사용 ) ex) 주식 종가 예측 + Classification: 분류 ( 범주형 데이터 ) 예측에 ..
데이터 변환하기 새로운 열 만들기 52. 조건에 맞는 새 열 만들기 53. assign()을 이용해 조건에 맞는 새 열 만들기 54. 숫자형 데이터를 구간으로 나누기 55. 기준 값 이하와 이상을 모두 통일시키기 56. 최댓값 불러오기 57. 최솟값 불러오기 행과 열 변환하기 58. 모든 열을 행으로 변환하기 59. 하나의 열만 행으로 이동시키기 60. 여러 개의 열을 행으로 이동시키기 61. 특정 열의 값을 기준으로 새로운 열 만들기 62. 원래 데이터 형태로 되돌릭 시리즈 데이터 연결하기 63. 시리즈 데이터 합치기 64. 데이터를 병합할 때 새로운 인덱스 만들기 65. 계층적 인덱스를 추가하고 열 이름 지정하기 데이터 프레임 연결하기 66. 데이터 프레임 합치기 67. 열의 수가 다른 두 데이터 프레임 합치기 68..
< 다섯째 마당 > 딥러닝 활용하기 16장 이미지 인식의 꽃, 컨볼루션 신경망(CNN) - MNIST 데이터셋: 고등학생과 인구조사국 직원 등이 쓴 손글씨를 이용해 만든 데이터로 구성되어 있습니다. 7만 개의 글자 이미지에 각각 0부터 9까지 이름표를 붙인 데이터셋이다. 이미지를 인식하는 원리 MNIST 데이터는 텐서플로의 케라스 API를 이용해 간단히 불러올 수 있습니다. X = 이미지 데이터 Y = 이미지에 0 ~ 9를 붙인 이름표 학습에 사용될 부분: X_train, y_train 테스트에 사용될 부분: X_test, y_test 이 이미지는 가로 28 x 세로 28 = 총 784개의 픽셀로 이루어져 있습니다. 각 픽셀은 밝기 정도에 따라 0부터 255까지 등급을 매깁니다. 흰색 배경이 0이라면 글씨가 들어간 곳은 1~255의 숫자 ..
< 넷째 마당 > 딥러닝 기본기 다지기 10장 딥러닝 모델 설계하기 모델 실습| 폐암 수술 환자의 생존율 예측하기 # 텐서플로 라이브러리 안에 있는 케라스 API에서 필요한 함수들을 불러옵니다. from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 데이터를 다루는 데 필요한 라이브러리를 불러옵니다. import numpy as np # 깃허브에 준비된 데이터를 가져옵니다. !git clone https://github.com/taehojo/data.git # 준비된 수술 환자 데이터를 불러옵니다. Data_set = np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",") X = Data_s..