Sklearn(3)

python3.6之sklearn 的安装 初次学习使用传说中的机器学习包sklearn,从网页和教材中发现其确实很牛叉,但是在使用的时候发现安装就是就让人蛋痛,于是记录下skLearn的安装过程。其中,非常感谢网友岁月静好的博客指导。一。文件下载1.sklearn 需要在 numpy+mkl  安装之后、scipy 安装之后、matplotlib安装之后才可以安装。2.scipy 在numpy+mkl安装之后才可以安装(有人说无所谓,我反... 阅读详情

今天给大家带来的是商品销售预测案例:
文件描述:
包括了销售数据数据集,测试集,店铺和商品以及商品种类等数据集。

sales_train.csv - the training set. Daily historical data from January 2013 to October 2015.
test.csv - the test set. You need to forecast the sales for these shops and products for November 2015.
sample_submission.csv - a sample submission file in the correct format.
items.csv - supplemental information about the items/products.
item_categories.csv  - supplemental information about the items categories.
shops.csv- supplemental information about the shops.

特征描述:
以上数据集的特征,有的是独有的,有的是公共的。

ID - an Id that represents a (Shop, Item) tuple within the test set
shop_id - unique identifier of a shop
item_id - unique identifier of a product
item_category_id - unique identifier of item category
item_cnt_day - number of products sold. You are predicting a monthly amount of this measure
item_price - current price of an item
date - date in format dd/mm/yyyy
date_block_num - a consecutive month number, used for convenience. January 2013 is 0, February 2013 is 1,..., October 2015 is 33
item_name - name of item
shop_name - name of shop
item_category_name - name of item category

导入数据:
数据集是来自俄罗斯,所有有些特征采用俄文书写。

import numpy as np
import pandas as pd
from sklearn import *
import nltk, datetime

train = pd.read_csv('D:/ML/Data/sales_train.csv/sales_train.csv')
test = pd.read_csv('D:/ML/Data/sales_train.csv/test.csv')
submission = pd.read_csv('D:/ML/Data/sales_train.csv/sample_submission.csv')
items = pd.read_csv('D:/ML/Data/sales_train.csv/items.csv')
item_cats = pd.read_csv('D:/ML/Data/sales_train.csv/item_categories.csv')
shops = pd.read_csv('D:/ML/Data/sales_train.csv/shops.csv')
print('train:', train.shape, 'test:', test.shape)

结果

train: (2935849, 6) test: (214200, 3)

添加特征:

feature_cnt = 25
tfidf = feature_extraction.text.TfidfVectorizer(max_features=feature_cnt)
将原始文档的集合转换为TF-IDF功能的矩阵。
items['item_name_len'] = items['item_name'].map(len) #Lenth of Item Description
items['item_name_wc'] = items['item_name'].map(lambda x: len(str(x).split(' '))) #Item Description Word Count
txtFeatures = pd.DataFrame(tfidf.fit_transform(items['item_name']).toarray())
cols = txtFeatures.columns
for i in range(feature_cnt):
    items['item_name_tfidf_' + str(i)] = txtFeatures[cols[i]]
items.head()

运行结果:

item_name   item_id item_category_id    item_name_len   item_name_wc    item_name_tfidf_0   item_name_tfidf_1   item_name_tfidf_2   item_name_tfidf_3   item_name_tfidf_4   ... item_name_tfidf_15  item_name_tfidf_16  item_name_tfidf_17  item_name_tfidf_18  item_name_tfidf_19  item_name_tfidf_20  item_name_tfidf_21  item_name_tfidf_22  item_name_tfidf_23  item_name_tfidf_24
0   ! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.) D   0   40  41  14  0.0 0.0 0.0 0.0 0.0 ... 0.0 0.000000    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000
1   !ABBYY FineReader 12 Professional Edition Full...   1   76  68  9   0.0 0.0 0.0 0.0 0.0 ... 0.0 0.403761    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.483839
2   ***В ЛУЧАХ СЛАВЫ (UNV) D    2   40  45  26  0.0 0.0 0.0 0.0 0.0 ... 0.0 0.000000    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000
3   ***ГОЛУБАЯ ВОЛНА (Univ) D   3   40  47  26  0.0 0.0 0.0 0.0 0.0 ... 0.0 0.000000    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000
4   ***КОРОБКА (СТЕКЛО) D   4   40  43  25  0.0 0.0 0.0 0.0 0.0 ... 0.0 0.000000    0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000
5 rows × 30 columns

在这里要重点介绍文本数据预处理:sklearn中CountVectorizer、TfidfTransformer和TfidfVectorizer
功能上来讲:TfidfVectorizer=CountVectorizer+TfidfTransformer
CountVectorizer是将文本数据的词频向量化
TfidfTransformer是将向量化之后的文本进行IF-IDF预处理
TfidfVectorizer可以一步完成二者的工作

接着进一步介绍TF-IDF:
TF-IDF(Term Frequency–Inverse Document Frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。

TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:TF * IDF。
词频(Term Frequency,TF)指的是某一个给定的词语在该文件中出现的频率。即词w在文档d中出现的次数count(w, d)和文档d中总词数size(d)的比值。
逆向文件频率(Inverse Document Frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。即文档总数n与词w所出现文件数docs(w, D)比值的对数。 
某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

#Text Features
feature_cnt = 25
tfidf = feature_extraction.text.TfidfVectorizer(max_features=feature_cnt)
item_cats['item_category_name_len'] = item_cats['item_category_name'].map(len)  #Lenth of Item Category Description
item_cats['item_category_name_wc'] = item_cats['item_category_name'].map(lambda x: len(str(x).split(' '))) #Item Category Description Word Count
txtFeatures = pd.DataFrame(tfidf.fit_transform(item_cats['item_category_name']).toarray())
cols = txtFeatures.columns
for i in range(feature_cnt):
    item_cats['item_category_name_tfidf_' + str(i)] = txtFeatures[cols[i]]
item_cats.head()
item_category_name  item_category_id    item_category_name_len  item_category_name_wc   item_category_name_tfidf_0  item_category_name_tfidf_1  item_category_name_tfidf_2  item_category_name_tfidf_3  item_category_name_tfidf_4  item_category_name_tfidf_5  ... item_category_name_tfidf_15 item_category_name_tfidf_16 item_category_name_tfidf_17 item_category_name_tfidf_18 item_category_name_tfidf_19 item_category_name_tfidf_20 item_category_name_tfidf_21 item_category_name_tfidf_22 item_category_name_tfidf_23 item_category_name_tfidf_24
0   PC - Гарнитуры/Наушники 0   23  3   0.0 0.0 0.0 1.0 0.000000    0.000000    ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1   Аксессуары - PS2    1   16  3   0.0 0.0 0.0 0.0 0.780837    0.000000    ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2   Аксессуары - PS3    2   16  3   0.0 0.0 0.0 0.0 0.000000    0.780837    ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
3   Аксессуары - PS4    3   16  3   0.0 0.0 0.0 0.0 0.000000    0.000000    ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4   Аксессуары - PSP    4   16  3   0.0 0.0 0.0 0.0 0.000000    0.000000    ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
5 rows × 29 columns
#Text Features
feature_cnt = 25
tfidf = feature_extraction.text.TfidfVectorizer(max_features=feature_cnt)
shops['shop_name_len'] = shops['shop_name'].map(len)  #Lenth of Shop Name
shops['shop_name_wc'] = shops['shop_name'].map(lambda x: len(str(x).split(' '))) #Shop Name Word Count
txtFeatures = pd.DataFrame(tfidf.fit_transform(shops['shop_name']).toarray())
cols = txtFeatures.columns
for i in range(feature_cnt):
    shops['shop_name_tfidf_' + str(i)] = txtFeatures[cols[i]]
shops.head()
    shop_name   shop_id shop_name_len   shop_name_wc    shop_name_tfidf_0   shop_name_tfidf_1   shop_name_tfidf_2   shop_name_tfidf_3   shop_name_tfidf_4   shop_name_tfidf_5   ... shop_name_tfidf_15  shop_name_tfidf_16  shop_name_tfidf_17  shop_name_tfidf_18  shop_name_tfidf_19  shop_name_tfidf_20  shop_name_tfidf_21  shop_name_tfidf_22  shop_name_tfidf_23  shop_name_tfidf_24
0   !Якутск Орджоникидзе, 56 фран   0   29  4   0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.000000    0.0 0.000000    1.000000
1   !Якутск ТЦ "Центральный" фран   1   29  4   0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.322815    0.0 0.689588    0.648274
2   Адыгея ТЦ "Мега"    2   16  3   0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.498580    0.0 0.000000    0.000000
3   Балашиха ТРК "Октябрь-Киномир"  3   30  3   0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 1.0 0.0 0.000000    0.0 0.000000    0.000000
4   Волжский ТЦ "Волга Молл"    4   24  4   0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.423972    0.0 0.000000    0.000000
5 rows × 29 columns
train['date'] = pd.to_datetime(train['date'], format='%d.%m.%Y')
train['month'] = train['date'].dt.month
train['year'] = train['date'].dt.year
train = train.drop(['date','item_price'], axis=1)
train = train.groupby([c for c in train.columns if c not in ['item_cnt_day']], as_index=False)[['item_cnt_day']].sum()
train = train.rename(columns={'item_cnt_day':'item_cnt_month'})
#Monthly Mean
shop_item_monthly_mean = train[['shop_id','item_id','item_cnt_month']].groupby(['shop_id','item_id'], as_index=False)[['item_cnt_month']].mean()
shop_item_monthly_mean = shop_item_monthly_mean.rename(columns={'item_cnt_month':'item_cnt_month_mean'})
#Add Mean Feature
train = pd.merge(train, shop_item_monthly_mean, how='left', on=['shop_id','item_id'])
#Last Month (Oct 2015)
shop_item_prev_month = train[train['date_block_num']==33][['shop_id','item_id','item_cnt_month']]
shop_item_prev_month = shop_item_prev_month.rename(columns={'item_cnt_month':'item_cnt_prev_month'})
shop_item_prev_month.head()
#Add Previous Month Feature
train = pd.merge(train, shop_item_prev_month, how='left', on=['shop_id','item_id']).fillna(0.)
#Items features
train = pd.merge(train, items, how='left', on='item_id')
#Item Category features
train = pd.merge(train, item_cats, how='left', on='item_category_id')
#Shops features
train = pd.merge(train, shops, how='left', on='shop_id')
train.head()
    date_block_num  shop_id item_id month   year    item_cnt_month  item_cnt_month_mean item_cnt_prev_month item_name   item_category_id    ... shop_name_tfidf_15  shop_name_tfidf_16  shop_name_tfidf_17  shop_name_tfidf_18  shop_name_tfidf_19  shop_name_tfidf_20  shop_name_tfidf_21  shop_name_tfidf_22  shop_name_tfidf_23  shop_name_tfidf_24
0   0   0   32  1   2013    6.0 8.0 0.0 1+1 40  ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1   0   0   33  1   2013    3.0 3.0 0.0 1+1 (BD)    37  ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
2   0   0   35  1   2013    1.0 7.5 0.0 10 ЛЕТ СПУСТЯ   40  ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
3   0   0   43  1   2013    1.0 1.0 0.0 100 МИЛЛИОНОВ ЕВРО  40  ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
4   0   0   51  1   2013    2.0 2.5 0.0 100 лучших произведений классики (mp3-CD) (Dig...   57  ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
5 rows × 93 columns
test['month'] = 11
test['year'] = 2015
test['date_block_num'] = 34
#Add Mean Feature
test = pd.merge(test, shop_item_monthly_mean, how='left', on=['shop_id','item_id']).fillna(0.)
#Add Previous Month Feature
test = pd.merge(test, shop_item_prev_month, how='left', on=['shop_id','item_id']).fillna(0.)
#Items features
test = pd.merge(test, items, how='left', on='item_id')
#Item Category features
test = pd.merge(test, item_cats, how='left', on='item_category_id')
#Shops features
test = pd.merge(test, shops, how='left', on='shop_id')
test['item_cnt_month'] = 0.
test.head()
    ID  shop_id item_id month   year    date_block_num  item_cnt_month_mean item_cnt_prev_month item_name   item_category_id    ... shop_name_tfidf_16  shop_name_tfidf_17  shop_name_tfidf_18  shop_name_tfidf_19  shop_name_tfidf_20  shop_name_tfidf_21  shop_name_tfidf_22  shop_name_tfidf_23  shop_name_tfidf_24  item_cnt_month
0   0   5   5037    11  2015    34  1.444444    0.0 NHL 15 [PS3, русские субтитры]  19  ... 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
1   1   5   5320    11  2015    34  0.000000    0.0 ONE DIRECTION Made In The A.M.  55  ... 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
2   2   5   5233    11  2015    34  2.000000    1.0 Need for Speed Rivals (Essentials) [PS3, русск...   19  ... 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
3   3   5   5232    11  2015    34  1.000000    0.0 Need for Speed Rivals (Classics) [Xbox 360, ру...   23  ... 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
4   4   5   5268    11  2015    34  0.000000    0.0 Need for Speed [PS4, русская версия]    20  ... 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0
5 rows × 94 columns

可视化结果:

from PIL import Image, ImageDraw, ImageFilter
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

df_all = pd.concat((train, test), axis=0, ignore_index=True)
stores_hm = df_all.pivot_table(index='shop_id', columns='item_category_id', values='item_cnt_month', aggfunc='count', fill_value=0)
fig, ax = plt.subplots(figsize=(10,10))
_ = sns.heatmap(stores_hm, ax=ax, cbar=False)

这里写图片描述

stores_hm = test.pivot_table(index='shop_id', columns='item_category_id', values='item_cnt_month', aggfunc='count', fill_value=0)
fig, ax = plt.subplots(figsize=(10,10))
_ = sns.heatmap(stores_hm, ax=ax, cbar=False)

这里写图片描述

for c in ['shop_name','item_name','item_category_name']:
    lbl = preprocessing.LabelEncoder()
    lbl.fit(list(train[c].unique())+list(test[c].unique()))
    train[c] = lbl.transform(train[c].astype(str))
    test[c] = lbl.transform(test[c].astype(str))
    print(c)
shop_name
item_name
item_category_name

模型训练:

col = [c for c in train.columns if c not in ['item_cnt_month']]
#Validation Hold Out Month
x1 = train[train['date_block_num']<33]
y1 = np.log1p(x1['item_cnt_month'].clip(0.,20.))
x1 = x1[col]
x2 = train[train['date_block_num']==33]
y2 = np.log1p(x2['item_cnt_month'].clip(0.,20.))
x2 = x2[col]

reg = ensemble.ExtraTreesRegressor(n_estimators=25, n_jobs=-1, max_depth=15, random_state=18)
reg.fit(x1,y1)
print('RMSE:', np.sqrt(metrics.mean_squared_error(y2.clip(0.,20.),reg.predict(x2).clip(0.,20.))))
#full train
reg.fit(train[col],train['item_cnt_month'].clip(0.,20.))
test['item_cnt_month'] = reg.predict(test[col]).clip(0.,20.)
test[['ID','item_cnt_month']].to_csv('submission.csv', index=False)
RMSE: 0.27595668657276884
import xgboost as xgb
import lightgbm as lgb
from catboost import CatBoostRegressor
from multiprocessing import *

#XGBoost
def xgb_rmse(preds, y):
    y = y.get_label()
    score = np.sqrt(metrics.mean_squared_error(y.clip(0.,20.), preds.clip(0.,20.)))
    return 'RMSE', score

params = {'eta': 0.2, 'max_depth': 4, 'objective': 'reg:linear', 'eval_metric': 'rmse', 'seed': 18, 'silent': True}
#watchlist = [(xgb.DMatrix(x1, y1), 'train'), (xgb.DMatrix(x2, y2), 'valid')]
#xgb_model = xgb.train(params, xgb.DMatrix(x1, y1), 100,  watchlist, verbose_eval=10, feval=xgb_rmse, maximize=False, early_stopping_rounds=20)
#test['item_cnt_month'] = xgb_model.predict(xgb.DMatrix(test[col]), ntree_limit=xgb_model.best_ntree_limit)
#test[['ID','item_cnt_month']].to_csv('xgb_submission.csv', index=False)

#LightGBM
def lgb_rmse(preds, y):
    y = np.array(list(y.get_label()))
    score = np.sqrt(metrics.mean_squared_error(y.clip(0.,20.), preds.clip(0.,20.)))
    return 'RMSE', score, False

params = {'learning_rate': 0.2, 'max_depth': 7, 'boosting': 'gbdt', 'objective': 'regression', 'metric': 'mse', 'is_training_metric': False, 'seed': 18}
#lgb_model = lgb.train(params, lgb.Dataset(x1, label=y1), 100, lgb.Dataset(x2, label=y2), feval=lgb_rmse, verbose_eval=10, early_stopping_rounds=20)
#test['item_cnt_month'] = lgb_model.predict(test[col], num_iteration=lgb_model.best_iteration)
#test[['ID','item_cnt_month']].to_csv('lgb_submission.csv', index=False)

#CatBoost
cb_model = CatBoostRegressor(iterations=100, learning_rate=0.2, depth=7, loss_function='RMSE', eval_metric='RMSE', random_seed=18, od_type='Iter', od_wait=20) 
cb_model.fit(x1, y1, eval_set=(x2, y2), use_best_model=True, verbose=False)
print('RMSE:', np.sqrt(metrics.mean_squared_error(y2.clip(0.,20.), cb_model.predict(x2).clip(0.,20.))))
test['item_cnt_month'] += cb_model.predict(test[col])
test['item_cnt_month'] /= 2
test[['ID','item_cnt_month']].to_csv('cb_blend_submission.csv', index=False)
RMSE: 0.2735090078825704
JavaScript 进阶问题列表,包含完整答案 《JavaScript进阶问题列表》是一份全面覆盖JavaScript高级知识点的问题集合,旨在帮助开发者深入理解JavaScript语言的各个方面,并掌握进阶技巧。每个问题都提供了详细的答案和解析,涵盖了JavaScript的高级特性、常见问题及解决方法等内容,是学习JavaScript进阶知识的绝佳资源。 ### 内容特点: 1. **广泛涵盖**:问题列表涵盖了JavaScript语言的各个方面,包括但不限于闭包、原型链、作用域、异步编程、函数式编程、模块化等高级特性和技巧。 2. **深入解析**:每个问题都提供了详细的解答和解析,包括对概念的解释、实际应用场景的分析以及相关的代码示例,帮助读者深入理解JavaScript的各种机制和用法。 3. **实用性强**:问题列表不仅涵盖了理论知识,还包括了实际开发中常见的问题及解决方法,帮助读者在实际项目中应对各种挑战,提高编程能力和解决问题的能力。 4. **系统整理**:问题列表按照一定的逻辑顺序进行整理和分类,便于读者系统地学习和掌握JavaScript进阶知识,逐步提升自己的技术水平。 ### 资源描述: 1. 立即下载

相关推荐

Софтфон24-crx插件

语言:English,español,русский bitrix24的web diabeard和bitrix24和星号 softfon24应用程序 - 允许用户制作和接受呼叫的Chrome浏览器扩展,即使在呼叫时,Bitrix24 Portal也是如此关闭。 与此同时,有关呼叫的所有信息都在Bitrix24中自动录制。 扩展专门使用我们的模块捆绑,以集成Bitrix24和星号(https://www.bitrix24.ru/apps/?pp=informununity.fpbx#install)。 要工作Softfon24应用程序,Bitrix24 Portal必须通过HTTPS使用有效证书工作。

Miyeok Guk (Korean Seaweed Soup) - Миён Гук (Корейский суп из морепродуктов)

Для всех у кого скоро день рождение и не только!! [РЕЦЕПТЫ] Miyeok Guk (Korean Seaweed Soup) - Миён Гук (Корейский суп из морепродуктов) Суп Миёк Гук делается с миёком (так же знают как вакаме

Моя страничка 6879

大概 - 米姆:КорочеHTTPS:github.comenriquenc,HTTPS:github.comSaintJakuziиHTTPS:github.comkvdex,чтобыихнеотчислилизанесданыелабы,модулиипропущенныелекциисООП,за24часасделалиигрунаС#+微软XNA框架

概率记忆 Управление:Движениеигрока:W,A,S,D。 24тотпроектбылзакрытпосле24часовнаписаниякода,улучшатьсявдальнейшемоннебудет。 Хочетсяувидетьчерезнескольколет,начтомытогдабылиспособны。 Еслимызагоримсяидеей,товыйдетполноценнаяиграсссжжетомитакойжеламповойпиксельнойграф。 (ИнормальноспроектированымкодомхD)。

*******

******* 高考语文不及格,但是我还是想写写我的感受哈哈。 比赛前一天,三个人兴致勃勃地参加了热身赛,拿了83名,本以为可以水个铜牌的样子。然后铁了… 果然,能够参加区域赛的都是些大佬。 比赛前准备了两天的板子,结果真的没用上233,签到题出的有点慢,当时心态有点炸了,乱了阵脚,之后看到榜上无数人A了C题,转去看C,结果……就这样卡了将近四个小时,推不出式子来,数据都不对更没法交。推C题的这段...

ywq4321的博客 1642

Yandex Browser 浏览器 for Mac

Yandex Browser 浏览器 Yandex浏览器介绍 Yandex是来自俄罗斯搜索巨头的一款浏览器,该浏览器具有超强的数据压缩能力,能够实现页面的快速加载。 应用特色: 1、将搜索栏和地址栏合二为一 2、搜索栏和地址栏将出现在手机底部,在你打开的时候它会自动弹起,就在你的指尖下,非常方便 3、可快速访问喜爱的网站 4、具备涡轮加速功能,在网速缓慢的情况下,加快网页的加载速度,同时节省流量

Sokoban-Windows-Forms-source-code-windows source code

推箱子Windows窗体源代码 ИсходныйкоддляSokoban 。 解决方案:Microsoft Visual Studio 2017。 C#Windows窗体(.NET Framework 4.6)。 SokobanCore.cs。 Можетиспользоватьсясдругимитехнологиямивизуализации。 EndOfLevelEvent。 Вцеляхнаписаниячистогокодаобработкаходабылаподвергнутаглубокомурефакторингупосравн Содержит60полностьюфункциональныхуровней。 Избонусов: Возможностьвыбратьлюбойуровень Возможностьотменитьсделанный(е

ПАНДАКУ: оптовый поставщик подержанной обуви

PANDACU является ведущим оптовым поставщиком подержанных сумок и производителем подержанной обуви. PANDACU стремится к качеству и устойчивости, предлагая широкий ассортимент подержанных сумок и обуви, которые были тщательно закуплены, проверены и готовы к

PANDACU2nd的博客 993

脑机接口(BCI)从原理到开发实战 01|意念控制真的来了?一文看懂脑机接口的技术革命

类型定义典型应用主动式用户主动产生特定思维模式来控制设备运动想象(想象左手/右手移动)反应式用户被动接受外部刺激,系统检测大脑反应P300拼写器、SSVEP(稳态视觉诱发电位)被动式系统监测用户自发脑状态,不要求主动控制疲劳监测、情绪识别、注意力评估本系列后续文章将重点围绕主动式(运动想象)和反应式(P300/SSVEP)展开实战。脑机接口,这个曾经只存在于科幻中的概念,正在政策、资本、技术的三重驱动下,加速从实验室走向产业落地。2026年,注定是脑机接口发展史上浓墨重彩的一年。

小明的博客 1431

720P、1080P、1440P、2160P、HD、FHD、UHD、2K屏、4K屏是什么意思

1080P=1920*1080P,1080P中的p是progressive scanning,是逐行扫描的意思,1080p代表屏幕纵向有1080个像素点,横向是1920个像素点,因为1920约等于2000,也就是2K,如果显示器支持1080P,就称为2K屏,1920*1080约等于200万,所以1080p最多200万个像素。 同理,4K指的是3840*2160P,因为3840约等于4000,也就是4K,所以4K与2160P是一回事,可以看到3840*2160P横向、纵向格式1920*1080P的2倍,共4

wangjun5159的专栏 37万+

VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版)

本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。

weixin_29245767的博客 232

华为OD机试真题2025双机位C卷 C++ 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 281

PMBOK(第六版) PMP备考知识总汇!

记录本人学习PMBOK第六版的学习笔记。 备考知识总汇! PMBOK序章 PMP备考指南之相关事项介绍 PMP备考指南之第一章:引论 PMP备考指南之第二章:项目运作环境 PMP备考指南之第三章:项目经理的角色 PMP备考指南之第四章:项目整合管理 PMP备考指南之第五章:项目范围管理 PMP备考指南之第六章:项目进度管理 PMP备考指南之第七章:项目成本管理 PMP备...

Coder编程的博客 1万+

YOLOv8改进策略【卷积层】| TIP 2025 MFA 多阶段特征聚合 大核扩感受 + 多梯度融合,强效增强弱小目标特征

红外弱小目标尺寸极小、信噪比低,在特征传递中极易丢失信息;常规卷积感受野单一、梯度源不足,难以同时捕捉局部细节与全局上下文,导致小目标特征表达弱、检测漏检。因此提出多阶段特征聚合 MFA,用大核卷积+多分支+通道注意力强化小目标特征提取。

Limiiiing的博客 59

python3.7下载sklearn_Python3.7sklearn包中缺失Imputer函数

本人是win10下安装的anaconda3,相关版本如下: 然而在使用sklearn中的Imputer函数时,会出现报错:>>> import numpy as np>>> import sklearn>>> from sklearn import preprocessing>>> from sklearn.preproce...

weixin_39802519的博客 831

基于 Qt C++ 的战术通信终端

logMessage(QString("新客户端连接来自: %1:%2").arg(incomingTcpSocket->peerAddress().toString()).arg(incomingTcpSocket->peerPort()));logMessage(QString("服务器已启动,在 [%1]:%2 监听IPv6连接...").arg(ui->lineEditAddress->text()).arg(port));

寒寒豆豆软件公司的博客 77

极智嘉嵌入式面试题及参考答案

IIC(Inter-Integrated Circuit)即集成电路总线,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它仅使用两根线,即串行数据线 SDA 和串行时钟线 SCL,就能实现多个设备之间的通信,具有简单、高效、占用资源少等优点,广泛应用于各种嵌入式系统中。

大模型大数据攻城狮的专栏 922

Python3.7sklearn包中缺失Imputer函数

本人是win10下安装的anaconda3,相关版本如下: 然而在使用sklearn中的Imputer函数时,会出现报错: >>> import numpy as np >>> import sklearn >>> from sklearn import preprocessing >>> from sklearn.preprocessing import Imputer Traceback (most recent ca

qq_39954916的博客 5689

Unreal5 从入门到精通之 学习Niagara特效系统

UE5 Niagara粒子系统解析 Niagara是UE5中的高性能粒子特效系统,相比传统粒子系统具有完全可编程性和可视化节点编辑两大特点。核心单元发射器(Emitter)分为模板发射器(预设效果如喷泉、火焰)和空白发射器(高度自定义)。系统提供13种预设模板,包括吹飞粒子、五彩纸屑爆发、动态光束等常见特效。 Niagara采用三级模块化设计: 系统级:全局参数设置与更新 发射器级:控制粒子生成规则与行为 粒子级:处理单个粒子的生命周期和渲染 关键模块包括初始化粒子属性、物理模拟、颜色渐变等,支持GPU加速

TxNet 1124

xgboost 实践[3]_sklearn

xgboost 实践[3]_sklearn 构建xgboost 模型预测 安装 (window下安装xgboost) 参考: Windows下在Anaconda3中安装python版的XGBoost库 简单到一步安装 xgboost (Windows环境) 选择合适的包,下载下来,在下载下来的文件目录下直接pip: 说明 xgboost自带的接口(predict)输出的是概率 sk...

disguiseR 1180

TIA Portal (博图) -两台不同网段S7-1200通信(上)

因为不同网段意味着它们默认不在同一个广播域,并且没有网关设备来处理路由,所以标准的 TCP/IP 通信(如 `TSEND_C`/`TRCV_C`)无法直接建立连接。S7 通信 (PUT/GET): 最简单,配置好连接后,在客户端 PLC 使用 `PUT` 指令发送数据到服务器 PLC,使用 `GET` 指令从服务器 PLC 读取数据。* 在地址详细信息中,确保 本地连接端点是客户端 PLC 的接口,远程连接端点是服务器 PLC 的接口和 IP (`192.168.2.20`)。

电工 2680

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

sudo apt-get install python3-sklearn

sudo apt-get install python3-sklearn

怨行客 1058

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Anaconda3中出现sklearn.model_selection不存在问题

Anaconda3中from sklearn.model_selection import train_test_split出现importError: No module named ‘sklearn.model_selection’。 在电脑开始输入Anaconda,打开Anaconda Prompt输入:conda list 查阅sklearn版本信息,发现版本是0.17.1,此版本中是不包

思过留痕 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python3.6怎么安装sklearn_无法在python3.6上导入sklearn

我试图导入skit learn库,但它生成以下错误:Traceback (most recent call last):File "", line 1, in import sklearnFile "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\__init__.py", line 13...

weixin_39838028的博客 752

python3.8中sklearn问题(win10)

python3.8中sklearn问题(win10) ** 小编在第一次装sklearn库时,发生了import error cannot import name ‘__check_build’ from partially initialized module 'sklear的报错,在网上也找了很多答案,发现都不是很适合自己。反而越搞越麻烦,下面小编来介绍一下本小编的解决办法。(小编的操作环境是win10,python3.8) 解决办法 1、在cmd中一个一个删除python中的numpy、scipy、

A1971128375的博客 6833

python sklearn安装_Win 10 +python3.5 之sklearn 的安装

一。文件下载1.sklearn 需要在 numpy+mkl 安装之后和scipy 安装之后才可以安装。2.scipy 在numpy+mkl安装之后才可以安装。因此,三个软件的安装顺序是:numpy+mkl scipy sklearn3.安装的三个文件的版本非常非常重要。版本不匹配会导致失败。本次安装的python的版本为3.5 ,因此 以上三个文件的版本为:numpy-1.13...

weixin_39528219的博客 304

python3.7怎么装sklearn_机器学习——安装sklearn库(Python3.7),的,python37

python3.7 如何安装sklearn·sklearn库sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍s...

weixin_39997695的博客 3125
上一篇: Matlab脚本编程
下一篇: 视频编码----H.264到H.265的转码
powerlwj
博客等级 码龄12年 116粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值