忍者ブログ

いけいけ機械学習

統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

Python クラスのコンストラクタ

1. 文法

__init__

メソッドが、コンストラクタになります。

2.サンプル

# -*- coding: utf-8 -*-

# Class definition
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Object creation

person1 = Person("Alice", 30)
person2 = Person("Bob", 25)

# Display object information
print(f"{person1.name} is {person1.age} years old.")
print(f"{person2.name} is {person2.age} years old.")

3.実行結果

Alice is 30 years old.
Bob is 25 years old.

が表示されます。



PR

仮説検証の考え方


● 例えば、100回ふっても、1しかでないサイコロがあるとする。

● このサイコロは、いんちきではないか?と考える

● 破棄したい帰無仮説として

 「このサイコロは、公正である」とする。

● 公正である場合、100回ふって1ばかり出る確率は、(1/6)の100乗。

● 有意水準(p値)を、0.05 とすると、

 (1/6)の100乗 <0.05

 なので、こんなことは、偶然ではない。

   と考え、帰無仮説を破棄する。






Pythonのライブラリ

公開されている資料をもとに、Pythonのライブラリーについて

考えてみたいと思います。

Pythonのライブラリーは、次の5つに分類できる。

(1) Data Manipulation adn Analysis

Pandasなど。PanadasのDataFrameオブジェクトは、

メモリ上のテーブル構造としてデータを操作できる。

CSVファイルやSQLデータベースからオブジェクトをインポートできる。

DataFrameオブジェクトに対しては、コンディションサーチ、

フィルタリング、ソーティング、スライシング、カラム操作などができる。

DataFrameオブジェクトは、フレキシブルにリサイズできる。

時系列データにも活用することができる。

(2) Data Visualization

2D、3Dのレンダリングエンジンを含み、ヒストグラム、

バーチャートなどのグラフをサポートする。

(3) Numeric Computing

NumPyや、SciPyが有名である。

NumPyは、行列演算にフォーカスしており、多次元配列の作成、演算、

次元の変換の機能を提供する。

また、線形代数、フーリエ変換などをサポートする。

SciPyは、NumPyを拡張したもの。

(3) Model Training

元々は、データマイニングのためにデザインされたものであるが、

scikit-learnは、モデルのトレーニングに利用できるライブラリーである。

回帰、分類、クラスタリングに関する有名なアルゴリズムを提供する。

また、次元削減、特徴量の抽出、正規化などのプロセスをサポートする。

(4) Neural Network

Tensorflow , keras, PyTorchなど。