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

🛠 기타/Data & AI 99

[scikit-learn 라이브러리] iris 데이터셋 사용 예제

데이터 판단 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns df = sns.load_dataset('iris') df ==결과== sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa .. ... ... ... ... ... 145 6.7 3.0 5.2 2.3 virginica 146 6.3 2.5 5.0 1.9 vi..

[scikit-learn 라이브러리] 비만도 데이터 기반 분류 문제

데이터 판단 import pandas as pd import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from sklearn import metrics # 평가를 위한 모듈 data = pd.read_csv('bmi_500.csv', index_col='Label') print(data.head(3)) Gender Height Weight Label Obesity Male 174 96 Normal Male 189 87 Obesity Female 185 110 ... 위와 같은 비만도 데이터가 있다. 각 데이터에는 성별과 키, 몸무게, 비만도 정보가 기록되어 있다. 총 500개의 데이터가 존재한다. 해당 데이터들..

선형회귀와 경사하강법(Gradient Descent)

선형회귀와 경사하강법은 딥러닝의 핵심이라고 할 수 있을 정도로 중요한 개념이다. 이를 제대로 이해하지 못한다면, 절대 딥러닝 전체를 이해할 수 없다. 해당 게시글은 나의 이해를 돕기 위한 것이기 때문에 어떤 시각자료도 첨부되어 있지 않다. 어떤 것인지 느낌은 알고 있지만, 역전파과정이 헷갈려서 나의 부족함을 새삼 깨닫고 처음부터 다시 정리중입니다ㅎㅎ... 선형회귀란, 종속 변수 y와 한 개 이상의 독립 변수 x와의 선형 상관 관계를 모델링하는 회귀분석 기법이다. 선형회귀는 y = ax + b라는 선으로 대표되는데, 여기서 a와 b라는 매개변수가 독립변수와 종속변수간의 상관 관계를 더 잘 표현하도록 해야한다. 이는 경사하강법(Gradient Descent)로 최적화된다. 쉽게 말하면 전체 데이터를 대표하기..

파이썬 토크나이저 - stop words (nltk)

stop words nltk.download('stopwords') stopwords에 필요한 데이터를 먼저 다운 받아야 한다. from nltk.corpus import stopwords sw = stopwords.words('english') # sw = ['.', ','] print(sw) print(words) removed_list = [] for word in words: if word.lower() not in sw: removed_list.append(word) print(removed_list) stop words란 '.'이나 'me' 등과 같이 문장 해석에 실질적으로 도움이 되지 않은 단어를 뜻한다. ..

파이썬 토크나이저 - 어간 찾기 (nltk)

어간 찾기 from nltk.stem import PorterStemmer text = """ Have you ever fallen head. over heels for somebody. """ # 어간 찾기 words = word_tokenize(text) for word in words: print(PorterStemmer().stem(word)) ==결과== have you ever fallen head . over heel for somebodi . PorterStemmer의 stem메소드로 단어의 어간을 찾을 수 있다. 문장을 단어별로 토크나이징 한 뒤에 각 단어들의 어간을 for문을 통해 출력했다. 사실 아직 기능이 완벽하지 못해 정확한 어간을 출력해주지는 않는다.

Pandas 데이터프레임 pivot table

pivot table pivot table은 데이터 프레임의 인덱스와 컬럼을 원하는대로 조정할 수 있다. 데이터프레임 내에 존재하는 컬럼값을 인덱스로 설정해 그루핑하고, 컬럼을 컬럼 내 데이터별로 나눌 수도 있다. A B C D E 0 foo one small 1 2 1 foo one large 2 4 2 foo one large 2 5 3 foo two small 3 5 4 foo two small 3 6 5 bar one large 4 6 6 bar one small 5 8 7 bar two small 6 9 8 bar two large 7 9 이와 같은 데이터가 있다고 하자. import pd dfr = pd.pivot_table(df, index=['A','B'], columns='C', valu..

Pandas 데이터프레임 데이터 별 함수적용

apply 데이터 프레임에 apply 함수를 적용하면 각 데이터에 대해 apply 내부 함수를 적용해준다. df.height 0 165.3 1 170.1 2 175.0 3 182.1 4 168.0 5 162.0 6 155.2 7 176.9 8 178.5 9 176.1 10 167.1 11 180.0 12 162.2 13 176.1 14 158.2 15 168.6 16 169.2 Name: height, dtype: float64 df.height.apply(lambda x: x/100) # or (두 코드는 같은 역할을 한다.) def divide(x): return x/100 df.height.apply(divide) 0 1.653 1 1.701 2 1.750 3 1.821 4 1.680 5 1.620..

[scikit-learn 라이브러리] joblib (pickle 객체 저장)

joblib from sklearn.externals import joblib joblib.dump(model, 'xor_model_2.pkl') pickle과 거의 동일한 기능을 수행한다. dump() : 임의의 객체를 pkl 형식으로 저장해준다. 위 예시에서는 model 객체를 xor_model_2.pkl로 저장했다. from sklearn.externals import joblib model = joblib.load('xor_model_2.pkl') load() : pkl 형식으로 저장된 객체를 불러온다. 위 예시에서는 xor_model_2.pkl에서 model 객체를 불러왔다.