[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/Data & AI 99

[scikit-learn 라이브러리] XOR 문제

scikit-learn? 파이썬의 머신러닝 라이브러리 회귀, 분류, 군집, 차원축소, 특성공학, 전처리, 교차검증, 파이프라인 등 머신러닝에 필요한 기능 제공 scikit-learn 활용 XOR 문제 해결 scikit-learn 라이브러리를 활용해서 XOR 문제를 해결해보겠다. XOR 문제는 배타적인 입력(1,0 or 0,1)이 들어왔을 때만 1을 출력한다. import pandas as pd from sklearn import svm, metrics pandas 데이터 프레임을 활용하기 위해 함께 import한다. sklearn에서 svm과 metrics를 활용하기 위해 import한다. # XOR 연산 데이터 xor_input = [ #p, q, r [0, 0, 0], [0, 1, 1], [1, 0,..

파이썬 토크나이저 - 기초활용

토큰화 문장이 있을 때 단어/어절 등으로 해당 문장을 나누는 것을 '토큰화'라고 한다. ex. 저는 배가 고픕니다. => '저','는','배','가','고프','ㅂ니다' 영어에는 don't의 ' 혹은 Ph.D. 의 . 같이 나누기 애매한 것들이 있다. 한국어는 그 자체만으로 정해진 순서가 없어 구분이 어렵다. 토크나이저 이런 토큰화과정을 정규표현식을 통해 일일히 처리해주기란 상당히 복잡하고 어려운 일이다. 따라서 토큰화를 도와주는 토크나이저 라이브러리들을 활용한다. 그 종류에는 nltk, konlpy, kss 등이 있다. nltk는 영어 문장을 토크나이징하도록 도와주고, konlpy나 kss는 한국어 문장을 토크나이징하도록 도와준다. !pip install nltk !pip install konlpy !..

파이썬 정규표현식 - 문자 내용 바꾸기

sub import re list_a = ['ab','a1b','a12b','a123b'] p = re.compile('a.{2}b') for i in list_a: print(p.sub('change', i)) # sub는 내부 함수로, 해당 함수를 통해 추가적인 작업을 진행할 수 있다. ==결과== ab a1b change a123b 정규식 오브젝트의 메소드인 sub함수는 match된 부분만 첫번째 파라미터의 문자열로 변경한다. 'a.{2}b'와 매칭할 수 있는 것은 'a12b'뿐이기에 해당 문자만 첫번째 파라미터인 'change'로 변경되었다. sub의 추가활용 import re list_a = ['ab','a1b','a12b','a123b'] p = re.compile('a.{2}b') def s..

단층 퍼셉트론 - 회귀분석 구현

데이터를 기반으로 전복의 고리수를 예측하는 단층 퍼셉트론을 구현해보자. 주어진 데이터는 'Sex', 'Length', 'Diameter', 'Height', 'Whole weight', 'Shucked weight', 'Viscera weight', 'Shell weight', 그리고 결과치가 되는 'Rings' 이상 9개이다. 데이터의 80%는 학습 데이터로, 20%는 테스트 데이터로 활용된다. 수업에서 사용된 코드를 분석한 자료입니다. 파이썬 모듈 불러오기 import numpy as np import csv import time np.random.seed(1234) def randomize(): np.random.seed(time.time()) 필요한 모듈을 불러온다. 추후 활용될 랜덤에 대비하여 ..

Pandas 데이터프레임 정렬

sort_values sort_values(by='정렬기준컬럼', ascending=True or False) 를 사용하여 데이터프레임을 정렬할 수 있다. by 옵션에 정렬기준이 될 컬럼을 넣고, ascending에 내림차순 여부를 체크하면 된다. my_labels = list(df.City) my_GenderRatio = list(df.GenderRatio) df0 = pd.DataFrame( {'GenderRatio':my_GenderRatio}, index = my_labels) df0 ==결과== GenderRatio 옹진군 1.29 화천군 1.27 고성군 1.15 괴산군 1.03 신안군 1.11 울릉군 1.15 위와 같은 데이터가 있다고 하자. (위 데이터는 전국의 인구 통계 자료에서 뽑아낸 자..

Pandas 데이터 시각화 카테고리

카테고리 # 교통사고 시간대 # 0-2, 3-5, 6-8, 9-11, 12-14, 15-17, 18-20, 21-23시 8개의 구간 time_df = data['발생년월일시'] % 100 bins = [-1, 2, 5, 8, 11,14,17, 20, 24] labels = ['0-2', '3-5', '6-8', '9-11', '12-14', '15-17', '18-20','21-23'] time_cats = pd.cut(list(time_df.values), bins, labels = labels) rs = time_cats.value_counts()==결과== 0-2 421 ..

Pandas 데이터 시각화 한글깨짐

한글깨짐 import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline data = pd.read_csv('Traffic_Accident_2017.csv', header='infer',encoding = 'euc-kr') t = data['요일'].value_counts() y = t[['월','화','수','목','금','토','일']] x = ['월','화','수','목','금','토','일'] plt.title("요일별 교통사고 사망 건수") plt.xlabel("요일") plt.ylabel("사고 건수") plt.ylim(500, 620) plt.bar(x, y) plt.show() 한글로 이루어진 ..

파이썬 정규표현식 - 그룹 만들기

정규표현식 그룹 import re list_c = ['코끼리는 코끼리', '강아지는 강아지', '고양이는 고양이'] p = re.compile(r'(?P.+).\s\1') for i in list_c: print(p.match(i).group('name')) ==결과== 코끼리 강아지 고양이 특정구간을 ()로 묶어 그룹으로 만들 수 있다. 그렇게 묶인 group은 순서대로 번호가 메겨져 .group(n)으로 뽑을 수 있다. 그룹을 만들때 제일 앞에 ?P을 넣어 그룹 이름을 부여할 수도 있다. 그렇게하면 .group('그룹이름')으로 뽑을 수 있다. 예제 Q. ['김철수 - 학점 2.0', '박철수 - 학점 3.0', '이철수 - 학점 4.0']에서 학점을 모두 4.5로 바꿔주세요! list_d = ['김..

파이썬 정규표현식 - 기초활용

정규표현식 import re 자연어처리과정 중 데이터 전처리 과정에서는 데이터에서 유의미한 것을 찾아 처리해야 한다. 이럴 때 주로 활용되는 것이 정규표현식이다. 문자열의 패턴을 특정형태로 표현하여 텍스트에서 해당 문자열을 검색하거나 치환할 때 활용할 수 있다. 파이썬에서는 re 모듈을 import하여 사용한다. 정규식 객체 re.compile(".") re.compile(검색할문자열) 함수를 호출하면 정규식 객체 (re.RegexObject 클래스 객체)를 리턴하게 된다. re.RegexObject 클래스는 여러 메소드를 보유하여 문자열 검색 혹은 치환을 도와준다. 즉, 특정문자를 담고있는 정규식 객체를 활용하여 문자열을 검사 및 수정하는 것이다. match() : 문자열의 처음부터 정규식과 매치되는지..

Pandas 데이터 시각화

Pandas 데이터 시각화 df0.loc[:,['Sepal.Width','Petal.Length']].plot.hist(bins=50,color=['red','blue'],alpha=0.6) plt.show() 데이터를 처리해줄 필요없이, plot.hist()와 같은 함수로 데이터 시각화가 가능하다. 한번에 두개를 그릴 수도 있다. (범례도 자동 출력된다.) 해당 기능도 결국은 plt에 그리는 것이다. (즉, plt.show()는 필요하다.) hist 외에도 scatter, bar 등 다양한 그래프를 그릴 수 있다. line 선 그래프 bar 수직 막대 그래프 barh 수평 막대 그래프 his 히스토그램 box 박스 플롯 kde 커널 밀도 그래프 area 면적 그래프 pie 파이 그래프 scatter 산..