# 금융 속보 크롤링 # 네이버 금융 -> 뉴스 -> 실시간 속보 # 금융 속보의 제목을 추출하는 과정 library(rvest) library(httr) # url 변수에 해당 주소 입력 url = paste0('https://finance.naver.com/news/news_list.nhn?mode=LSS2D§ion_id=101§ion_id2=258') # GET 함수를 이용해 해당 페이지의 내용을 받아 data 변수에 저장 data = GET(url) # 데이터 변수 확인 # Status : 200,즉 데이터가 이상 없이 받아짐 # 인코딩은 EUC-KR 타입 print(data) data_title = data %>% read_html(encoding = 'EUC-KR') %>% # read_html 함수를 통해 해당 페이지의 HTML을 읽어오며, 인코딩은 EUC-KR 설정 html_nodes('dl') %>% # html_nodes 함수를 통해 해당 태그를 추출, dl 태그에 해당하는 부분 추출 html_nodes('.
MNIST 데이터란 인공지능이 이미지를 보고 이것이 어떤 이미지인가를 맞춰보게 하는 인공지능 훈련을 위한 Dataset
MNIST 개요
손글씨 데이터 손으로 작성된 0~9까지의 숫자 이미지 이미지 + 레이블 –> 하나의 데이터셋 이미지 속성
차원 (가로,세로,색조) –> (28,28,1) 픽셀값: 0 ~ 255 레이블 정보
단순 스칼라 (확률정보이용) -> One-hot encoding 해결전략
이미지, 레이블 전처리 원본이미지 –> 전처리(flatten)
레이블 “3” –> “[0,0,0,1,0,0,0,0,0,0]” One-hot encoding
이미지 전처리
#Logistic regression example # 라이브러리 호출 import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F import pandas as pd # 데이터를 가공하기 위함 import numpy as np import matplotlib.pyplot as plt # 그림을 그리기 위함 %matplotlib inline #파일 업로드 data = pd.read_csv('./mba_admission.csv') # ./ --> 현재 경로를 나타낸다 data.columns # 데이터 속성을 확인함 data.shape # (40,4) --> 행 : 데이터 크기, 열 : gmat, gpa, work_experience --> 입력, admitted --> 결과 data.
library(KoNLP) library(dplyr) library(ggplot2) install.packages("stringr") library(stringr) # stringr 패키지는 문자열을 가능한 한 쉽게 처리하도록 설계 함수 # 세트를 제공합니다. useNIADic() twitter <- read.csv("./Data/twitter.csv", header = T, stringsAsFactors = F, fileEncoding = "UTF-8") glimpse(twitter) # 변수명 수정 twitter <- rename(twitter, no = 번호, id = 계정이름, date = 작성일, tw = 내용) # 특수문자 제거 twitter$tw <- str_replace_all(twitter$tw, "\\W", " ") head(twitter$tw) # 단어 빈도표 만들기 # 트윗에서 명사추출 nouns <- extractNoun(twitter$tw) # 추출한 명사 list를 문자열 벡터로 변환, 단어별 빈도표 생성 wordcount <- table(unlist(nouns)) wordcount # 데이터 프레임으로 변환 df_word <- as.
# getSymbols() 함수를 이용한 API 다운로드 library(quantmod) getSymbols('TSLA') head(TSLA) # TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted # 2010-06-29 3.800 5.000 3.508 4.778 93831500 4.778 # 2010-06-30 5.158 6.084 4.660 4.766 85935500 4.766 # 2010-07-01 5.000 5.184 4.054 4.392 41094000 4.392 # 2010-07-02 4.600 4.620 3.742 3.840 25699000 3.840 # 2010-07-06 4.000 4.000 3.166 3.222 34334500 3.222 # 2010-07-07 3.280 3.326 2.996 3.160 34608500 3.160 # Open : 시가, High: 고가, Low : 저가, # Close : 종가, Volume : 거래량, Adjusted : 배당이 반영된 수정주가 # Ad() 함수를 통해 다운로드한 데이터에서 수정주가만을 선택한 후 # chart_Series() 함수를 이용해 시계열 그래프를 그릴 수도 있다.
# API를 이용한 Quandl 데이터 다운로드 # R에서 API 주소를 이용해 직접 데이터를 다운로드 url.aapl = "https://www.quandl.com/api/v3/datasets/WIKI/AAPL/ data.csv?api_key=xw3NU3xLUZ7vZgrz5QnG" data.aapl = read.csv(url.aapl) head(data.aapl) # Date Open High Low Close Volume Ex.Dividend Split.Ratio # 1 2018-03-27 173.68 175.15 166.92 168.340 38962839 0 1 # 2 2018-03-26 168.07 173.10 166.44 172.770 36272617 0 1 # 3 2018-03-23 168.39 169.92 164.94 164.940 40248954 0 1 # 4 2018-03-22 170.00 172.68 168.60 168.845 41051076 0 1 # 5 2018-03-21 175.
import torch import numpy as np import matplotlib.pyplot as plt %matplotlib inline # 데이터 x = np.random.uniform(-1.2, 2, size=(100)) #np.random.uniform은 Numpy에서 제공하는 균등분포 함수이다. y = 0.1*x**3-0.1*x**2+0.1*np.random.uniform(size=(100)) # 노이즈 추가 plt.plot(x,y,'o') # 3차 함수지만 노이즈가 포함되어 있다. # train/validation/test 분류 data = np.concatenate((x.reshape(-1,1),y.reshape(-1,1)), axis=-1) # X, Y 묶음, X: input, Y: target print(data.shape) # 차원 0: 데이터 개수, 차원1: (x,y) --> (100,2) np.random.shuffle(data) # 데이터 골고루 섞음 test_num = int(data.shape[0]*0.1) # data.
KoNLP 패키지 설치하기 현재 KoNLP 패키지가 CRAN에서 삭제된 상태라 install.packages()를 이용해 설치할 수 없습니다. 아래 코드를 순서대로 실행하면 깃헙 버전 KoNLP 패키지를 설치할 수 있습니다.
java와 rJava 설치 install.packages(“multilinguer”) library(multilinguer) install_jdk()
KoNLP 의존성 패키지 설치 install.packages(c(“stringr”, “hash”, “tau”, “Sejong”, “RSQLite”, “devtools”), type = “binary”)
깃헙 버전 KoNLP 설치 install.packages(“remotes”) remotes::install_github(“haven-jeon/KoNLP”, upgrade = “never”, INSTALL_opts=c("–no-multiarch"))
# 힙합 가사 텍스트 마이닝 # 문자로 된 데이터에서 가치 있는 정보를 얻어 내는 분석 기법을 # '텍스트 마이닝'이라고 한다.
# PyTorch 필요 라이브러리 호출 import torch # pip install pytorch 라이브러리 설치 import torch.nn as nn # 인공신경망을 구성해주는 메소드들의 집합 import torch.nn.functional as F # 활성화 함수들을 간단하게 호출 import torch.optim as optim # 토치를 통한 최적화 기능 # Neural network 모델 생성 # 입력 --> 은닉 (3,5) # 은닉 --> 출력 (5,2) # nn 뉴럴 네트워크 안에 있는 기능 하나를 호출 class fir_model(nn.Moudule): # nn.Moduel안에 있는 부모 클래스를 상속 받는다.
Inverter
assign 구문 사용
대부분의 경우 assign을 사용 “조건 ? 참일경우 : 거짓일경우” 의 문장을 자주 사용 always 구문 사용 always @ (sensitivity_list) begin … end
always : 언제나, @ : (sensitivity_list) 신호가 변할 때
논리가 복잡한 경우에 사용
이 경우 if, else if, else 구문 또는 case 구문을 주로 사용
@(sensitivity_list) : 감지신호 목록