紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

【ネットワーク】お勉強1

【第3回】

  • プロトコル  ネットワークの約束事
  • TCP/IP  プロトコルの一種で最も有名
  • 帯域幅  毛0ブルの性能規格を説明するときに使う言葉で本来の意味は使用できる周波数,最近はデータ転送速度を指す
  • bps  一秒間に何ビット送れるかの単位

【第4回】

第7層 Application Layer
第6層 Presentation Layer
第5層 Sessiion Layer
第4層 Transport Layer
第3層 Network Layer
第2層 Data-Link Layer
第1層 Physical Layer

【第5回】

各レイヤでは機能が違い,独立している.
特定の機能を理解するためにはそのレイヤだけを考えればよい.
機能変更があってもそのレイヤ以外に影響が及ばない.

  • Application Layer

ネットワークサービスを提供
ネットワークが可能かどうか判断する.

  • Presentation Layer

データの形式を決定する.

  • Session Layer

セッションを管理する.
会話(通信)の行き違いがないように会話の流れを管理する.

  • Transport Layer

信頼性の高い通信サービスを保証する.
信頼性の高いとは相手に確実に届けるなど.

  • Network Layer

離れた場所とのデータの伝送,運ぶルートの決定,宛先の決定などを行う.

  • Datalink Layer

近くの機器とのデータの伝送制御を行う.

  • Physical Layer

電気,機械的なルールを決める.
電気信号をやり取りする.

【環境設定】Ctrl + Spaceで日本語入力

「定義済みのキーマップからインポートで好きなものをインポート(任意)」と書いてあったがMS-IMEでないとうまくいかなかった.
また設定後新しいアプリケーションから設定が有効になるので注意.
d.hatena.ne.jp

【GIMP】画像サイズ変更

拡大縮小ツールを使う
画像をクリックして,したい画像のサイズを入力
synclogue-navi.com

【GIMP】トリミング

切り抜きツールを用いて画像から切り取りたい範囲を選択
Enterでトリミングされる
f:id:umashika5555:20170417222718p:plain
www.gimp2.net

【GIMP】背景透過

1.ファジー選択ツールで選びたい範囲を選択
2.Ctrl+Delで選択範囲を切り取る
synclogue-navi.com

【Python】ループ中の要素の削除

for element in LIST:
    if ---:
        LIST.remove(element)

for i,enumerate in LIST:
    if ---:
        del LIST[i]

上でValueErrorが出たが下で書きなおしたら出なくなった.
全体の処理的には同じ位置を削除するようにしたつもりだけど何故だろう.

k-means法 準備

k-means法で理想的な結果が出せるようにデータを予めプロットしておく方法

# -*- coding: utf-8 -*- impo
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
X,y = make_blobs(n_samples=150, #サンプル点の総数
                n_features=2,   #特徴量の個数
                centers=5,      #クラスタの個数
                cluster_std=0.5,#クラスタの標準偏差
                shuffle=True,   #サンプルをシャッフル
                random_state=0) #乱数生成器の状態を指定
plt.scatter(X[:,0],X[:,1],c='blue',marker='o',s=30)
plt.grid()
plt.show()

plt.scatter()の色指定はcolorはcでもイイらしい.
横軸にX[:,0],縦軸にX[:,1]をセット
X[:,0]はXの全ての要素の1つ目の要素という意味

plt.scatter(X[:,0],X[:,1],c='blue',marker='o',s=30)

f:id:umashika5555:20170411075422p:plain

Irisのデータプロット

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

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#データの取得
df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",header=None)
df.tail()
#1-100行目の目的変数の抽出
y = df.iloc[0:100,4].values
#Iris-setosaを-1,Iris-virginicaを1に変換
y = np.where(y=="Iris-setosa",-1,1)
#1-100行目の1,3列目の抽出
X = df.iloc[0:100,[0,2]].values
#品種setosaのプロット(赤の○)
plt.scatter(X[:50,0],X[:50,1],color='red',marker='o',label='setosa')
#品種versicolorのプロット(青のx)
plt.scatter(X[50:100,0],X[50:100,1],color='blue',marker='x',label='varsicolor')
#軸のラベルの設定
plt.xlabel('sepal length [cm]')
plt.ylabel('pepal length [cm]')
#判例の設定
plt.legend(loc='upper left')
#図の表示
plt.show()

ラベルの変換方法
名前(文字列)を数値に変換

y = np.where(y == 'Iris-setosa',-1,1)

1-100行目の1,3列目の抽出をする.

X = df.iloc[0:100,[0,2]].values

f:id:umashika5555:20170411073916p:plain

1-50行目の1つ目の要素をX軸に2つ目の要素をY軸とし青xをプロット

plt.scatter(X[:50,0],X[:50,1],color='blue',marker='x',label='varsicolor')

f:id:umashika5555:20170411075055p:plain

Tweepy

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tweepy

CONSUMER_KEY = '-----------------------'                             # Consumer Key
CONSUMER_SECRET = '-----------------------'         # Consumer Secret
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = '-----------------------' # Access Token
ACCESS_SECRET = '-----------------------'         # Accesss Token Secert
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

#APIインスタンスを作成
api = tweepy.API(auth)

# これだけで、Twitter APIをPythonから操作するための準備は完了。
print('Done!')

#タイムライン上の最新ツイートを参照する
print api.home_timeline()[0].text

#自分のアカウントでつぶやく
api.update_status(status='test from Tweepy')  

#ツイート検索
#エラー出た
search_result = api.search(q='もふもふ')
for result in search_result:
    print result.text

www.statsbeginner.net

k-means法問題点

【k-means法の問題点】
空になるクラスタが存在する可能性があること.(Fuzzy C-means法(k-medoids)ではこの問題は生じない.)
scikit-learnのk-means実装ではこの問題には対処できている.
クラスタが空の場合,空のクラスタのセントロイドから最も離れているサンプルを探す.この最も離れた点がセントロイドになるようにセントロイドの割当を変更する.


クラスタがオーバーラップしない,階層的ではない.

クラスタに少なくとも1つアイテムが存在することが前提.