研究ノート(2.17)
1.KNNフルーツ分類練習
= Pd.read_csv 1.data( 'E:\ Pythonの-mlの\ F.csv')
インポートPANDAS AS PD
pd.read_csv CSVファイルを読み込むことができる
より多くのパラメータを求めることができるhttps://blog.csdn.net/brucewong0516 / Articleこの資料は/詳細/ 79092579であった
2.labelencoder = LabelEncoder()
data.iloc [:0] = labelencoder.fit_transform(data.iloc [:0])
、これは機械学習でエンコード教師あり学習ラベル、複合体の数でありますデジタルタグは、処理を容易にするために
行および列に応じてスクリーニングすることができるA.data.iloc DATAFRAMEスクリーニングデータを
カラムヘッド、座標軸における異なる列の選択からラベルに従って選択されるデータフレームは、データをスクリーニングB.利用LOC必要なデータを取得するためにヘッド
C.の使用が選択IX
当局が選択IXを推奨していない、とバージョン0.20.1でパンダから廃棄されるパンダの今
小さなから多数のに対応するラベルの上にある
3.data。 ILOC [:、1:再び私は見物この構文
最後の行の最初の行から第二行から始まるすべての列を抽出するためには、
私の次の出会いにdata.iloc [うち、印刷を行った、インスピレーションを得ました。 1:]
- knn=KNeighborsClassifier(i)
KNeighborsClassifier又称K最近邻,是一种经典的模式识别分类方法。sklearn库中的该分类器有以下参数:
from sklearn.neighbors import KNeighborsClassifier;
model = KNeighborsClassifier(
n_neighbors=5,
weights=’uniform’,
algorithm=’auto’,
leaf_size=30,
p=2,
metric=’minkowski’,
metric_params=None,
n_jobs=None,
**kwargs=object);
这里应该用的只是第一个参数, 那几个最近的就分类为一样的不断的调整,在for循环中不断调整K值再把当前K值对应的模型的精确的存放到一个列表里,我们可以挑选出一个精确度最高的K值
5.x_train,x_test,y_train,y_test=train_test_split(data.iloc[:,1:],data.iloc[:,0],test_size=0.3,stratify=data.iloc[:,0],random_state=20
中的参数 stratifysh 是按照中的比列切分
6.整个过程其实不是很复杂,首先获取数据,把数据的标签和特征分开,把数据集中的数据切分为训练集和测试集,用循环的方式找到一个最优的K值放入KNN模型中得到最好分类精确度。
BP神经网络手写数字识别
1.from sklearn.cross_validation import train_test_split
当我写完这行运行时,出现了报错
经过百度发现:
这个cross_validatio这个包早就不在使用了,划分到了model_selection这个包中。解决方法:
from sklearn.model_selection import train_test_split
入力データが正規化された2
Xの最小値を減算し、次に最大値で除算し、すべてのデータ行列Xに、その後最大値-最小値で除算し、全てのデータが0--1ここでXに変換することができ間のデータ。なぜそれを正規化する必要がありますか?数億大型Xが存在する場合、一般的に重みを初期化するの数十分の一です、重みが乗算され、そしてときに大きなX Xは、活性化関数の数千万に記入し、活性化関数は、S字カーブであります無限大に近づくとX 1は、誘導体におけるXが無限にゼロに近い大きいときに、学習の方法がない、そこには、勾配変化の重みがなく、勾配が関係です。
#输入数据归一化
X-=x.min()
X/=X.max()
3.ラベルバイナリ
ラベル1の画像が1,4手書き数字認識タグは4であるが、これはスタイルニューラルネットワークを満たしていない、出力層の神経素子は、値0と1である
場合0前の画像、彼のレーベルは、私たちがそう言うべき、0で
0> 1000000000
1>01億に
> 2 0010000000
3> 0001000000
4>、0000100000