WordPressの初期設定

こんにちは かずまなぶ(´・ω・`)です。

前回からオウンドメディア化していこうという企画をやっていますが、今回はオウンドメディアに相応しいWordPressの初期設定をしていきたいと思います。

WordPressの初期設定

  • WordPress アドレス (URL) = https://toyo-interest.com
  • サイトアドレス (URL)            = https://toyo-interest.com
  • そして、エックスサーバーのSSL設定からhttps化する。参考ブログ

https化は30分くらいかかるので焦らないこと。

  • 設定>パーマリンク>カスタム構造

https://toyo-interest.com /%category%/%postname%/

入れておきたいWordPressプラグイン

All in One SEO でSEO対策

機能管理>XMLサイトマップとソーシャルメディアをActiveにします。

ソーシャルメディア>画像設定>デフォルトのOG imageをアップロードします。

TinyMCE Advanced で装飾機能を拡張

エクセルみたいに、機能が増えます。

Duplicate Post で投稿を複製

記事のフォーマットを用意しておいて、新規投稿するときはこのフォーマットを複製(Duplicate)して使用します。

Shortcodes Ultimate で装飾機能をさらに拡張

色々な装飾をショートコードボタンから追加できるようになり、スマホにも最適化してくれます。

Shortcodes UltimateでYouTubeを貼ってみます。

Table of Contents Plus で目次を自動生成

”<h2>あああ</h2><h2>いいい</h2><h2>ううう</h2>” という感じで見出しを入れるだけで、目次を記事の頭に目次を自動生成してくれます。

さらに設定が必要です。Table of Contents Plusの略でTOCと思われますが、

ダッシュボード>設定>TOC+ の中の基本設定で

位置=最初の見出しの前(デフォルト)

表示条件=4つ以上見出しがあるとき

以下のコンテンツタイプを自動挿入=post(投稿ページ) のみにチェックを入れます。

一番下の、3.1.1と3.1.2はどうやったら消えるのでしょうか・・・

Fancier Author Box  by ThematoSoup でプロフィールを設定

設定>Fancier Author Box  by ThematoSoup
投稿画面で表示する     =  下部
固定ページで表示する =  上部

このとき投稿画面で表示を上部とか上下両方にしてしまった場合、目次の自動生成で下図のように余計な項目0.0.1 と0.0.2ができてしまいますのでご注意ください。

Disable Comments でコメントを無効化

ワンクリックでスパムメールを一切受付けなくなります。

設定>Disable Comments > ”どこでも”にチェックを入れます。

WordPressテーマを使ってみる

OPEN_GAGE

テーマは一つ8000~10000円するので、ちょっとわたしにはまだ手が出しにくいのです。もうしばらくは、標準テーマで行こうと思います。

オウンドメディア化を考える

こんにちは かずまなぶ (´・ω・`)です。
当該ブログを1段レベルアップすべく、オウンドメディアという考え方を取り入れようと思います。

オウンドメディアとは

直訳すると”自分の所有する媒体”ですが、やっていることは、
”顧客に対して自分独自の情報を発信するWebSite”です。

成功者のマネをしよう

”学ぶ”の語源は”真似る”と言われていますから、すでに成功している、出来上がっているモデルを研究することはとても有効な方法だと思います。WebSiteの構成をよくよく眺めて技を盗みましょう。

  • HubSpot
  • LIG
  • FERRET
  • LISKUL
  • バズ部

どういったものを作っていたらよいか、なんとなくイメージが湧いたでしょうか。

 

WordPressもHTMLだから ちゃんとタグは守ろう(´・ω・`)

こんにちは 圧倒的 かずまなぶ (´・ω・`)です。

いままで見出し部分は、見やすさで”引用”を使っていました。

でも、それはHTML的には邪道なので、ここからはちゃんとしていこうと思います。

<h2>大見出し1</h2>

下のimageに意味はありません。

基本構造は

  1. <a href=”https://○○”></a>で画像に対してリンクを貼ります。
  2. この<a>タグのパラメータとして target=”_blank” を追記し、別タブで開くようにします。
  3. その中に<img src=”https://○○.jpg”>で画像を入れます。
  4. 画像タグの内部には画像サイズを指定するwidth=”300″ height=”225″ を入れます。

<a href=”https://toyo-interest.com/wp-content/uploads/2019/01/old_map.jpg”><img class=”aligncenter wp-image-902 size-medium” src=”https://toyo-interest.com/wp-content/uploads/2019/01/old_map-300×225.jpg” alt=”” width=”300″ height=”225″ /></a>

<h3>中見出し1-1 リストの構造</h3>

<p1>ここは段落。文章を書いていく場所</p>

  • <ul><li>ここはun-order-list(順番なしのリスト項目)</li>
  •          <li>ここはun-order-list(順番なしのリスト項目)</li></ul>

<p1>ここはparagraph(段落)。文章を書いていく場所</p>

  1. <ol><li>ここはorder-list(順番ありのリスト項目)</li>
  2.          <li>ここはorder-list(順番ありのリスト項目</li></ol>

<h3>中見出し1-2 効果的なリンクの貼り方</h3>

2つあるので比較してみましょう。

<h4>中見出し1-2-1 アンカーテキスト</h4>

テキストを書いて、それにリンクを貼ります。

例えば   < グーグル >

 

でもなんか寂しいですね。次回はテーマを変更してみます。

メモ:私のブログは誰のために書いているのか

こんにちは 当該webサイト管理人の

”圧倒的 かず まなぶ(´・ω・`)”です。

最近は、当該WebSiteを充実させようと思い、友人たちに協力してもらってコンテンツをポストすることが多くなってきました。

初めてから6ヶ月余りが過ぎましたが、お陰様で1日に1000人を超える方が訪れるようになりました。

このへんで、これからの当該サイトの方向性について考えていこうと思います。

私のサイトは誰のために書いているのか

マーケティングでいうところの”ペルソナ設定”を考えてみましょう。

読んでくれる人を2種類に分けると

  • 顕在的な顧客=特定の悩みを持っている状態の人
  • 潜在的な顧客=特に大きな悩みを意識していない状態の人

がいます。

顕在顧客というのは、”明確な課題を持っていて、それに対して直接的な解決方法を提供する対象”のことです。

〇〇しなければならない、という課題に対して、○○する方法!を提供することです。

対して、潜在顧客とは、”漠然として課題を持っていて、それに対して私のコンテテンツが間接的に解決に繋がる対象”のことです。

○○できたらいいなあと漠然と考えている人に対して、△△すれば解決できるかもしれない!を提供することです。

顕在顧客への対応については分かりやすいのですが、潜在顧客に比べて圧倒的に母数が少ないです。

顕在顧客だけをターゲットにしていたのではすぐに頭打ちになってしまいます。

いよいよ、わたくしも意識し始めなければならないと考えています。

そして潜在顧客というのは実は顕在顧客よりも圧倒的に多く、ここからはこの潜在顧客をターゲットにしてコンテンツづくりをします。

特定の誰か

実在する人、例えば自分の友だちでもいいので、具体的な顔を思い浮かべながら考えます。

私の場合はじめたきっかけが、自分のための備忘録です。

近年、新しい技術が目まぐるしく発展する中、どう考えても今の脳みそではINPUTしきれないと考え、記憶箱のような補助脳が欲しいと思っていました。

私自身が顧客ですから、自分がやりたいことを分析すればよいのです。

そうでした。商売でやっているわけではありませんから、100%自己満足なのです。

やりたい事

私は新しいことが好きです。知的好奇心が旺盛なのです。

かつては、宇宙や航空技術が好きでしたが、近年ではAI、ロボティクス、センシング技術、IOT、web技術、ビックデータ、コンピューティング、ブロックチェーン、VR、MRなど、飽きることがありません。

しかし、これらの技術を単独で学んでもあまり意味はなく、組み合わせることによってこそ大きな成果が出せるのだと考えています。

それらをどのように組み合わせたら、どんな新しいことができるのかを探求していきたいと思っています。何かに向かうのではなく、螺旋を描きながら上へ上へと登って行く過程で、そのようなものを理解し、時代にふるい落とされないように生きて行きたいのです。

そのような、わたしと同じような考え方、生き方をしている人が対象なのでしょう。

ですから、いろんな分野のコンテンツを書いている中で、それぞれが顕在顧客を対象にしており、それらを組み合わせた技術が潜在顧客のニーズを満たすものなのかもしれません。

さいごに

と、いうことで、わたしのブログはお役立ち系ブログと見せかけて、実のところエンターテイメント系なのです。

そうです、

”学びこそ、エンターテイメント(*´﹃`*)”

なのです。

今しばらくは、自己満ですね。

 

お知らせ:当該webサイトをSSL化しました

こんばんは Kazu_Manabuです。

当該webサイトをSSL化しました。URLの頭がhttpsになっております。

やり方です。

エックスサーバーを使っているのですが、

まず、エックスサーバーにログイン

インフォパネル内の「サーバー管理」

任意のドメイン名の「選択する」を押す

SSL用アドレスに「https://www.toyo-interest.com/」が追加されます。httpsにちゃんとなっています。

1分位すると反映されます。

次に、wordpressにログイン

ダッシュボードの設定>URLのhttp://~~~をhttps://~~~に書き換えます。というかsを挿入します。

そして、私の場合は20分くらい放置してやっと繋がるようになりました。

かなりドキドキしました。

二度とつながらないんじゃないかとか、ハラハラしました。

実はわたくし、

ろくに調べず一番最初にwordpressの設定でhttpをhttpsにいじってしまい、繋がらなくなってしまいました。ログインできないのでダッシュボードに入ることができず、元通りにすることができないという事態に陥りました。

調べていくと、エックスサーバーのインフォパネル内の「サーバー管理」でSSL化しなさいと書いてあったのでやってみたら、うまくいきました。

本当に良かったです。(*´﹃`*)

 

 

 

機械学習:Scikit-Learn ボストンデータを良く眺めてみる。ついでにKNNの回帰をやる。

Keita_Nakamoriです。

今回は、ボストンの住宅のデータを眺めて行こうと思います。

ついでにKNNの回帰を試していこうと思います。(前回はKNNの分類でした)

モジュール

ボストンデータをロード

どういうことに使えるでしょうか?

  1. このデータから回帰を行う(学習する)
  2. 以降、”特徴量を持つ新規データ”が入ってきたら、その住宅の価格を予測する。理論価格と呼ぶ
  3. 理論価格より、新規データの価格が10%安ければ買いの判断をする

どんな機械学習アルゴリズムが良いでしょうか

多次元の回帰系ですから、KNN-Regressorをやってみましょう。 だめだったら他のやつを探してみます。

  • data とtargetの形を確認しましょう
  • 訓練用データと検証用データに分割しましょう

特徴量について featrue_namesを確認しましょう

英語を日本語へ翻訳する方法

前述のようなドキュメントを調べるとき、対象とする分野、業界の用語が列挙されると、そこそこ英語ができても単語の意味がわかりません。

そんなときは逆にチャンスで、ドキュメントをまるごと、google翻訳にかけると、専門用語を英語と日本語で一気に覚えることができます。

私は常に躊躇することなくgoogle翻訳します。

念の為

#アンパックの順番を良く間違うので念の為確認

#データフレーム化してデータを眺めてみる

スキャッターマトリクスを眺めてみる

今回もデカイです。

訓練開始

一瞬過ぎて何事も起こってないようですが、ちゃんと計算できています

予測

スクリーニングしてみる

20%以上安い物件の数

22件あるんですね。

この22件について、実際に不動産の知識を持って調査すると良いのではないでしょうか。

課題:精度の算出 と 可視化

精度を検証しようとknn.score(X_test,y_test)したところ、0.4616380924610112 と出ましたが、これは一体なんでしょうw

分類と違って、回帰ですから、%ってわけでもないですし・・・ あとで、もう少し考えてみましょう。今は保留。

また、可視化については、回帰ですから、回帰直線みたいなのを引きたいのですが、このような高次元に対しての回帰直線はどのように書いたら良いのでしょうか。今後の課題といたします。

以上、でした。

機械学習:Scikit-learn ブレストキャンサーデータを良く眺めてみる。ついでにKNNをやる。

こんにちはKeita_Nakamoriです。

今日はブレストキャンサーデータを良く眺めてみようと思います。

データをロードしてキーを確認しましょう。

 

キーを指定してデータの内容を確認しましょう

 

おまけ

np.bincount()を使うと 順番に[0の数 , 1の数 , 2の数,・・・]というようなベクトルが得られる

 

勢い余って、KNNをやってしまおう

おわりに

ということで、たったこれだけで、92%の正解率が得られました。

これは、データがしっかり整っているからできることです。

実際に自分自身の課題に対して機械学習を適用しようとすると、データを収集してきれいに整えることにエネルギーを費やすのだと思います。

番外:データフレームとスキャッターマトリクスを眺めてみる

データ数と特徴量が多すぎて、すごいことになっています。

うわ~~~~~ (*´﹃`*)

 

 

機械学習:Scikit-learn アイリスデータでk-最近傍法をやってみる

Keita_Nakamoriです。

前回、アイリスデータの内容を確認しました。

今回は、機械学習で最も単純と思われるk-最近傍法をやっていきます。

  • 必要なモジュールをインポート
  • データをロードして、入力データと出力データを定義

トレインデータ(訓練用)とテストデータ(検証用)に分割する

# データはランダムに振り分けるが,固定し、0という番号を付ける。

X_train のデータをデータフレーム化して、内容を確認する

columns=iris_dataset[“feature_names”] #データフレームの列名を定義
df=pd.DataFrame(X_train,columns=columns)
df[:5]

X_train のデータフレームをpd.plotting.scatter_matrix()で可視化して眺める。

 k- 最近傍法分類 をやってみる

モデルの作成とトレーニング

予測する

予測性能の評価

結果:0.9736842105263158

または、

でもいいです。

機械学習:Scikit-learn アイリスデータを良く見る

Keita_Nakamoriです。

今日はsklearnのアイリスデータを良く見てみようと思います。

インストール

>pip install sklearn

して

Requirement already satisfied: sklearn in c:\users\omoiy\anaconda3\lib\site-packages (0.0)
Requirement already satisfied: scikit-learn in c:\users\omoiy\anaconda3\lib\site-packages (from sklearn) (0.19.1)

と出るので、すでに入っていました。アナコンダですから。

インポートそしてインスタンス作成

アイリスデータが入っている、ロードアイリスをsklearn.datastetsからインポートします。
from sklearn.datasets import load_iris

関数としてロードアイリスのインスタンス、アイリスデータセットを作成します。

iris_dataset=load_iris #ロードアイリス関数

では、アイリスデータセットを見てみましょう。

iris_dataset()

わけのわからないデータの羅列が出てきますが、よく見るとディクショナリによく似た”Bunchクラス”という形式でデータが入っています。

ディクショナリと同様に、キーとバリューを指定できます。

iris_dataset().keys()

キーを指定してみます。長いので500文字で切りましょう。DESCRはディスクドライブの略です。

まずは、データの概要を見る

iris_dataset[“DESCR”][:500]

または、下のように書くと、見やすくなります。

print(iris_dataset()[“DESCR”][:500]+”\n…”)

データセットの特性

インスタンス数:150 (3クラスあり、それぞれ50個)

アトリビュートの数:

4つの予測用アトリビュート(数値)

  • sepal長さ[cm] sepal 幅 [cm]
  • petal長さ[cm] petal 幅 [cm]

クラス(分類)

  • Iris-Setosa
  • Iris- Versicolour
  • Iris-Virginica

訓練用のインプット”データ”を確認する。

iris_dataset()[“data”]

.shape()で大きさを確認すると(150, 4)。4つの予測用アトリビュートをもった塊が150個ある。

正解である”ターゲット”を確認する

iris_dataset()[“target”]

  • 0=Iris-Setosa
  • 1=Iris- Versicolour
  • 2=Iris-Virginica

なのでしょう、きっと。

ターゲットの名前

iris_dataset()[“target_names”]

ここで出てきました。分類名。前述で予想した通りの順番でした。

特徴の名称を確認する

これも、DESCRでの記述順通りでした。

以上、ロードアイリスのデータでした。

次回は訓練させていきます。

Math:固有値・固有ベクトル

英語でいうと アイゲンバリューとアイゲンベクターというそうです。

(Eigen Value , Eigen Vector)

メモっておきます。

ステップ0 定義

  • A:行列
  • X:ベクトル
  • λ:スカラー

があったら

AX=λX

と表されるとき、右辺のλとXは

  • λ:固有値
  • X : 固有ベクトル

と呼ばれます。

言わなくてもわかると思いますが、X=ゼロベクトル というのは無しですよ!

ステップ1 変換

線形変換の復習です

左辺

  • A=[[2,3],[2,1]]
  • X=[1,3]

のとき、計算すると

  • AX=[2*1+3*3 , 2*1+1*3]=[11,5]

これは、ベクトルX[1,3]が行列Aによってベクトル[11,5]へ変換されたことを意味します。

ステップ2 ” 固有 ” とは

ベクトルXだけを変えてみましょう

  • X=[3,2]

すると、左辺は、

  • AX=[2*3+3*2 , 2*3+1*2]=[12,8]
  • さらに変形して,AX=4[3,2]

ということで、AX=λXの形と見比べると、左辺と右辺のベクトルXは[3,2]で同一の値になっていて、さらにスカラーλは4という値になりなっています。

このとき,

  • λ:固有値
  • X : 固有ベクトル

という呼び方をされます。

結果として、ベクトルXに行列Aをかけ合わせたんだけど、結果としてベクトルの向きは[3,2]のまま変わらないで大きさだけ4倍になった。

固有というのは「向きが保存される特殊な状況」ということです。

ステップ3 どんなとき使うの?

現時点iのときにα[i],β[i]という値をとる事象を考えます。

次の時点[i+1]のときは、それがα[i+1],β[i+1]に変化するとしましょう。

それぞれの数式は漸化式の如く下記のように表現できるものとしましょう。

  • α[i+1] =   0.5     α[i] + 0.4  β[i]
  • β[i+1] =-0.104 α[i] + 1.1   β[i]

そうすると、これはAX=λXのように表現できます。

  • [[0.5,0.4],[-0.104,1.1]]  [α[i],β[i]] = λ [α[i],β[i]]

ステップ4 固有値、固有ベクトルを求める

固有方程式を使うと固有ベクトルλを求めることができます。

  • 固有方程式:det(A-λE)=0

AX=λX を移行して

AX-λX=0 を行列Xでくくって

(A-λE)X=0  ※単位行列Eを忘れないで

ここでXはゼロベクトルではない。

ここで左辺の行列(A-λE)が逆行列を持っていたら、

(A-λE)^-1 (A-λE)X = (A-λE)^-1 ・0

EX=ゼロベクトル

Eは単位行列なので、Xがゼロベクトルでなくては、この式は満たされない。

でも、今は、固有値、固有ベクトルを有するためにはXがゼロベクトルであってはだめなので、そもそも、「(A-λE)に逆行列があってはならない」というところまで遡る。

行列(A-λE)が逆行列を持たない条件

det(A-λE)=0

結果

λ=1.02 , 0.58 と2つ解(固有値)が出てきますので、それぞれ

  • λ1=1.02
  • λ2=0.58

としましょう。

固有ベクトルは、いまさっき求めた固有値を使って

  • (A-λ1E)X=0 より固有ベクトル v1=[10,13]
  • (A-λ2E)X=0 より固有ベクトル v2=[5,1]

と算出できます。

ステップ5 AX=λXの意味

  • 固有ベクトル v1=[10,13] のとき

AX=λXは

  • [[0.5,0.4],[-0.104,1.1]] [10,13] = 1.02  [10,13]

この意味するところは、[α[i],β[i]]=[10,13] という組み合わせのときには、

そのベクトル[10,13] を変化されることなく、ステップごとに1.02倍されていく ということです。

同様に、固有値 λ2 = 0.58 のとき

  • 固有ベクトル v2=[5,1]
  • [[0.5,0.4],[-0.104,1.1]]  [5,1] = 0.58 [5,1]

こちらの意味も同様に、そのベクトル[5,1] を変化されることなく、ステップごとに0.58倍されていく ということです。

これで、どういう組み合わせのときに、その組み合わせの割合を変えずに、スケールだけを変化させられるのかがわかるようになりました。

しかし、これでは、2つの固有ベクトルのとき、という限定された情報しかありません。

ステップ6 最終的には・・・

初期ベクトルX[0]を

  • X[0]=C1 V1+C2 V2

と置きます。

ここで V1,V2は固有ベクトル

C1,C2は固有ベクトルにないかしらを掛け算する係数

では、ステップを進めてみましょう。

  • X[1] = AX[0]= C1 A  V1+C2 A  V2

ここで Aをλに入れ替えます。

  • X[1] = C1 λ1 V1+C2 λ2  V2

さらにすすめて

  • X[2] = AX[1]= C1 λ1λ1  V1+C2 λ2λ2  V2
  • X[3] = AX[2]= C1 λ1λ1λ1  V1+C2 λ2λ2λ2  V2

λが増えていくだけです。

  • X[i] = C1 (λ1^i) V1+C2 (λ2^i)  V2
  • X[∞] = C1 (λ1^∞) V1+C2 (λ2^∞)  V2

ここで λ2は1よりも小さいので λ2^∞=0 、 よって

  • X[∞] = C1 (λ1^∞) V1

よって、ステップ数を増やしていくと、最終的には固有ベクトルv1に落ち着くということです。

もう一度整理すると。X[i+1]のときは、

  • X[i+1] = C1 (λ1^(i+1)) V1 =λ C1 (λ1^i) V1 よって
  • X[i+1]=λ1  X[i]

というシンプルな形になります。