기계 학습 처리 모듈의 기초

13349 단어 Python3초학자Python

개시하다


파이톤이 시작한 기계 학습, 처리 모듈의 기초를 복습합니다.

Numpy 정렬


scikit-learn은 Numpy 어레이에서 데이터를 수신하므로 사용하는 데이터를 Numpy 어레이로 변환해야 합니다.다음 열은 Numpy 배열의 핵심 다차원 배열(ndaray 클래스)입니다.
In[1]:
import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6]])
print("x:\n{}".format(x))

Out[1]:
x:
[[1 2 3]
 [4 5 6]]

SciPy


Sciepy는 파이톤의 과학기술 계산을 위한 함수를 수집하는 것을 말한다.scikit-learn에서 Scipy 함수를 알고리즘 구현에 사용합니다.Scipy에서 가장 중요한 요소는 scipy입니다.이것은 sparse로 희소 행렬(대부분 성분이 0인 행렬)을 나타낸다.희소 행렬은 대부분의 성분이 0인 2차원 행렬을 저장하는 데 사용되며,scikit-learn에서 사용하는 또 다른 데이터 표시이다.
・eye
・csrmatrix
In[2]:  # eye関数
import numpy as np
from scipy import sparse

eye = np.eye(4)  # 4 x 4の単位行列(対角成分が1で,非対角成分が0の行列)を作成する
print("Numpy array:\n{}".format(eye))  # Numpy配列を作成する

Out[2]:
Numpy array:
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]


In[3]:  # CSR形式
sparse_matrix = sparse.csr_matrix(eye)  # 上記のNumPy配列をCSR形式(NumPy配列の非ゼロ要素の座標を抽出する)に格納する
print("\nSciPy sparse CSR matrix:\n{}".format(sparse_matrix))

Out[3]:
SciPy sparse CSR matrix:
  (0, 0)        1.0   # NumPy配列の0行0列
  (1, 1)        1.0   # NumPy配列の1行1列
  (2, 2)        1.0   # NumPy配列の2行2列
  (3, 3)        1.0   # NumPy配列の3行3列


In[4]:  # COO形式
data = np.ones(4)  # 1で埋められ4つの要素を持つ1次元配列を作成
row_indices = np.arange(4)
col_indices = np.arange(4)
eye_coo = sparse.coo_matrix((data, (row_indices, col_indices)))
print("COO representation:\n{}".format(eye_coo))

Out[4]:  # 上のものと同じ疎行列をCOO形式で作成する
COO representation:
  (0, 0)        1.0
  (1, 1)        1.0
  (2, 2)        1.0
  (3, 3)        1.0

matplotlib


matplotlib은 데이터와 해석 결과를 시각화하는 도표 그리기 라이브러리입니다.Anaconda의 JuptyerNotebook을 사용하여 차트를 그립니다.
In[5]:
%matplotlib inline  # Jupyter Notebookへの表示に必要 %matplotlib notebookでも可
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 100)  # -10から10までを100ステップ区切った配列を作成
y = np.sin(x)  # 配列xをsin関数のグラフにする
plt.plot(x, y, marker="x")  # plt.plot(x, y)でグラフを表示 marker="x"で100ステップのマークxを表示する
            ↓
Out[5]:

pandas


pandas는 데이터 변환·해석을 진행하여 excel표와 같은 형식으로 결과를 나타낼 수 있다(이것을 Data Farame이라고 부른다).각종 파일이나 데이터베이스에서 데이터를 얻을 수 있다.
In[6]:
import pandas as pd
from IPython.display import display

data = {'Name': ["John", "An", "Peter", "Linda"], 'Location': ["New York", "Paris", "Berlin", "London"], 'Age': ["20", "21", "36", "43"]}
data_pandas = pd.DataFrame(data)
display(data_pandas)
Out[6]:
      ↓

또한 상기 표에서 일정한 조건을 충족시키는 항목만 추출할 수 있다.아래의 예는 30세 이상만 뽑는다.
display(data_pandas)

display(data_pandas.Age > 30)
양식을 만들 수 없습니다. 오류가 발생했습니다.

마지막 글은 "TyperError:''not supported between instance of'str'and'int'"입니다.data_pandas.에이지의str형과30인트형을비교해봤지만안된다고 합니다.들여다보다
display(data_pandas[data_pandas.Age > '30'])
# であるべきが
display(data_pandas[data_pandas.Age > 30])
# となっていた
이 책의 오자는?어쨌든 쉬운 일이니까 다음부터는 이런 실수를 피하고 싶어요.

끝말


다음에 앨리스의 분류를 진행할게요.

좋은 웹페이지 즐겨찾기