はじめに
こんにちは。
私は新宿区にある大学に通う学生で、計量経済学を専攻しています。
データサイエンスに興味があり、この2月からプログラミング、さらに
機械学習について勉強を始めました。
この度、レッドフォックス株式会社の長期インターンシップに参加し、
pythonを用いたデータ分析について実践させていただいています。
その中で、学んだことを備忘録として、また私同様に初学者である方
の役に立つ様、まとめていきたいと思います。
研修で行ったこと
Numpy, Pandas, seabornなど各種ライブラリの使用に
ついて、体系的に総ざらいしました。また、janome, Word2vecを
使った形態素解析、モデルへの書き出しを学びました。
自分で機械学習を学んでいた時には不要だった関数やメソッドが多く
出てきたため、自発的にドキュメントを参照するようになりました.
以下に、各ライブラリの機能で、私が学んだものを記そうと思います。
Numpy
import numpy as np
arr1 = np.array([1,2,3,4,5,6])
arr2 = np.arange(25).reshape((5,5))
arr3 = np.random.randn(10)
arr.T #転置
np.sqrt(arr) #平方根
np.add(arr1, arr2) #和
np.dot(arr1, arr2) #積
Pandas
import pandas as pd
ser = pd.Series([3,6,9,12], index = [a,b,c,d])
ser[ser>7] #条件を指定して要素を取り出す
ser_dict = ser.to_dict() #辞書型に変換
df = pd.read_csv('a.csv')
df.describe() #統計量の表示
df.groupby('a') #aを基準にグループ分け
df.isnull() #データフレームの各項目がNaNであるかどうかをbool型で出力する
df.dropna(axis=0) #欠損値を含む行を取り除く
df.fillna(0) #欠損値を0で埋める
values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
df.fillna(value=values)#欠損値を辞書のように置き換え
df.to_csv('df.tsv', sep='\t')
pd.merge(df_1, df_2, 'inner')
# あるいは
df = pd.concat([df_1, df_2, df_3, d_4], axis=1)
seaborn
import seaborn as sns
sns.lmplot(x='a', y='b', data=df, hue='c')
sns.pairplot()
sns.kdeplot(x, y, cmap=cmap, shade=True, cut=5, ax=ax)
sns.pairplot(df, hue="a")
sns.countplot()
sns,heatmap()
機械学習
- 単回帰分析
- 多項式回帰
- ロジスティック回帰
- SVM
- 決定木分析
形態素解析
-
janome 日本語の文を形態素解析(文章を最小単位ごとに分け、
品詞を判別する) -
word2vec 形態素解析のモデル。
model.most_similar(positive=['a'])
というメソッドを用いて、aという単語と関連の深い単語を探すこと
ができる。
おわりに
初学者の方はかえってドキュメントを見ずにできないことを諦めて
しまうことが多いと思いますが、各ライブラリはとても高機能なので
大抵のことができます。ここに書いた機能はよく使用されるものかも
しれませんが、ほんの一部です。
ネットで調べてわからないことでも、ドキュメントを見ることで一瞬で
解決することがあります。積極的にドキュメントを参照するといいと
思います。