본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/집중양성과정 프로젝트 01

20190902 기계학습을 위해서 전처리를 하려고 했지만 헛수고 ssul.

그냥 한 번 해보자는 생각으로, 구글에서 검색을 해서 그대로 따라했는데 아무리 생각해도 뭔가 이상했다.

 

첫 째로, sqllite에서 데이터 프레임으로 가져올 필요가 없었다는 생각이 강하게 든다. 모든 예제 들도 csv파일을 read.csv하여 테이블로 읽어와서 그냥 예제를 따라가는 것이 좋지 않았을까? 나는 꼬래 데이터프레임으로 불러오느라 리스트컴프리헨션을 이용한 반복문을 계속 사용했다. 이상한 오류도 떴고...

 

*리스트 컴프리헨션 연습한 것만 좋았다.

 

둘 쨰로, 분석 전에 목표를 어중간하게 잡으면 하는 것도 어중간해 진다. 짧은 시간이라도 전처리 해야할 자료를 명확히 해야겠다는 생각이 들었다. 목표 자료 형태 딱 정하고! 시작하자

 

셋 째로 컬러스크립터라는 확장팩을 이용해서 손쉽게 코드를 여기에 옮겨 적을 수 있었다. 애용해야겠다.

 https://colorscripter.com

 

 

Color Scripter

Simple & Flexible Syntax HighLighter

colorscripter.com

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# SQLITE DATABASE에서 데이터베이스 접근
 
# sqlite3 임포트
import sqlite3
 
 
# 데이터베이스 "Bigcoin.sqlite"에 핸들 형성
con = sqlite3.connect("/content/drive/My Drive/BIGCOIN/PREPORCOESSING/Bigcoin.sqlite")
 
# 데이터베이스에 실행을 위한 커서 형성
cur = con.cursor()
 
 
# 데이터 전처리를 위한 pandas 임포트
import pandas as pd
 
# 데이터베이스에서 텍스트 읽어오기
query= cur.execute("SELECT DISTINCT text FROM engBTC;")
 
# 리스트 컴프리핸션, cols로 컬럼 이름 저장
cols = [column[0for column in query.description]
 
# 데이터프레임을 만들기 위해 pd.DataFrame.from_records  수행
table =pd.DataFrame.from_records(data=query.fetchall(), columns=cols)
con.close()
 
#데이터프레임으로 옮겨 졌는지 확인
 
print(type(table["text"]))
 
 
# 영어가 아닌 문자를 공백으로 대체, 리스트 컴프리핸션
for lable, content in table.items():
  table["text"=[re.sub('[^a-zA-Z]'' ', text) for text in table['text']]
  
'''
for label, content in table.items():
  list = table["text"]
  for location, value in enumerate(list):
    list[loacation] = re.sub('[^a-zA-Z]', " ", value)'''
 
'''오류 : expected string or bytes-like object가 뜸, 
Stackoverflow에서는 table 자리에 문자가 아닌 것이 들어갔기 때문이라고 함. 그래서 str을 씀'''
 
 
# 정규표현식이 잘 적용 되었는지 확인
 
 
# 대문자를 소문자로 변환하고, 단어 단위로 쪼개어 리스트화
 
for lable, content in table.items():
  table["text"=[text.lower().split() for text in table['text']]
 
 
# 잘 적용되어 있는지 확인
 
import nltk
nltk.download('stopwords')
 
 
#불용어 제거
 
stops = set(stopwords.words('english'))
 
 
import nltk
nltk.download('stopwords')
 
 
#불용어 제거
 
stops = set(stopwords.words('english'))
 
for i in table['text']:
  i = [word for word in i if not word in stops]
 
 
 
 
# 어간 추출
 
stemmer = nltk.stem.SnowballStemmer('english')
 
for i in table['text']:
  i = [stemmer.stem(word) for word in i]
 
 
 
# 대문자를 소문자로 변환하고, 단어 단위로 쪼개어 리스트화
 
for lable, content in table.items():
  table["text"=[text.lower().split() for text in table['text']]
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs